我试过使用rawurlencode和urlencode,都给我“&”和其他“+”。PHP减号符号在URL(rawurlencode与urlencode)
我问的是,是否有一个PHP函数,把字符之间的“ - ”,如堆栈溢出?
感谢
我试过使用rawurlencode和urlencode,都给我“&”和其他“+”。PHP减号符号在URL(rawurlencode与urlencode)
我问的是,是否有一个PHP函数,把字符之间的“ - ”,如堆栈溢出?
感谢
如果那是你正在试图做的,你可以只使用:
$url = str_replace(" ", "-", $url);
然后用urlencode
后,要对其进行编码。例如: -
function myurlencode($url)
{
return urlencode(str_replace(" ", "-", $url));
}
编辑
而且根据PHP manual,它取代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
是独立于从文本的网址,即使他们对搜索引擎友好。通常这被称为slugify一个网址。我想这通常是你要找的东西,对吧?
下面是这种方法的一个例子http://sourcecookbook.com/en/recipes/8/function-to-slugify-strings-in-php
'str_replace'? – nickf 2011-02-28 19:47:56
对不起,我不明白你的问题的一部分,以及他们彼此之间的关系。你能澄清吗? – 2011-02-28 19:48:31
可能是一个'string_replace('',' - ',$ url)' – 2011-02-28 19:48:44