我试过使用 rawurlencode 和 urlencode,都给我“&”和另一个“+”。
我要问的是,是否有一个 PHP 函数将“-”放在单词之间,比如 Stack Overflow 上?
谢谢
我试过使用 rawurlencode 和 urlencode,都给我“&”和另一个“+”。
我要问的是,是否有一个 PHP 函数将“-”放在单词之间,比如 Stack Overflow 上?
谢谢
如果这就是你想要做的一切,你可以使用:
$url = str_replace(" ", "-", $url);
之后使用urlencode
它对其进行编码。例如:
function myurlencode($url)
{
return urlencode(str_replace(" ", "-", $url));
}
编辑
并且根据PHP 手册,它取代了all non-alphanumeric characters except -_. with a percent (%) sign followed by two hex digits and spaces encoded as plus (+) signs.
rawurlencode
并且urlencode
用于使 URL 的格式正确。如果要替换破折号的空格,则需要使用str_replace
:
str_replace(" ", "-", $url);
如果您只想用另一个字符替换一类字符,请使用str_replace
例如:
$newURL = str_replace(" ", "-", $oldURL);
会做你想做的
urlencode是一组非常具体的字符替换,它遵循 url 编码的标准。
好的,正如所提到url_encode
的,它与从文本中制作 URL 无关,即使它们对 SEO 友好。通常这被称为 slugify 一个 url。我想这通常是你要找的,对吧?
这是这种方法的示例http://sourcecookbook.com/en/recipes/8/function-to-slugify-strings-in-php