这个问题在这里已有答案:
我正在尝试从斜杠后面的url中拉出最后一个单词并将它们打印在H2标签内。
我正在使用这一行:
<h2>
<?php
echo basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
?>
</h2>
目前如果在斜线之后有多个单词我在单词之间得到%20,那么如何调整我的代码以将其转换为空格?
任何建议或指导表示赞赏。
干杯:)
您可以使用urldecode(string)
将URL解码为正确的字符。这与urlencode(string)
相反。
注意不要与$_GET
一起使用,因为它已被解码并可能导致问题。
有关更多信息,请参阅urldecode from the PHP manual。
在php中使用urldecode();
$a = basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
$b = urldecode($a);
echo $b;
您可以使用Javascript函数decodeURIComponent
。下列
decodeURIComponent('foo%20bar')
生产"foo bar"
。
或者您可以通过将代码包装在rawurldecode
函数中来使用PHP方法。
返回一个字符串,其中带有百分号(%)的序列后跟两个十六进制数字已替换为文字字符。
我认为这应该有效。
echo preg_replace("/\s+/","",basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));