从Request_Uri修剪斜杠

时间:2011-02-27 19:03:10

标签: php url uri trim

这是我的代码片段:

$url = $_SERVER["REQUEST_URI"]; // gives /test/test/ from http://example.org/test/test/
echo"$url"; 
trim ( $url ,'/' );
echo"$url";

我将它与.htaccess重写结合使用,我将从URL获取信息,并使用explode为PHP用户生成页面。 我不希望.htaccess解释URL,这可能更好,但我更常见的PHP,我认为它更灵活。

我已经读过这个(基本上就是我想要的): Best way to remove trailing slashes in URLs with PHP

唯一的问题是trim没有修剪前导斜杠。为什么? 但实际上它应该工作。用'/'"/"'\47'替换'\x2F'不会改变任何内容。 它既不能在线工作,也不能在localhost工作。 我做错了什么?

4 个答案:

答案 0 :(得分:23)

trim函数返回修剪过的字符串。它不会修改原件。你的第三行应该是:

$url = trim($url, '/');

答案 1 :(得分:3)

这可以在一行中完成......

echo trim($_SERVER['REQUEST_URI'], '/');

答案 2 :(得分:2)

你需要这样做:

$url = trim($url, '/');

你也应该这样做

echo $url;

速度更快。

答案 3 :(得分:1)

trim不会修改原件。你需要做一些事情,比如:

$url = $_SERVER["REQUEST_URI"]; // gives /test/test/ from http://example.org/test/test/
echo"$url"; 
$url = trim ( $url ,'/' );
echo"$url";