1

我正在尝试从字符串末尾删除正斜杠。

看起来很简单,但我遇到了一些问题。一个非常奇怪的字符出现在字符串的末尾。查看我的代码:

function removeSlash($currentURL)
{

    if ( strpos($currentURL , '/') == (strlen($currentURL)-1) )
            $currentURL = substr( $currentURL, 0, -1 );

    return $currentURL;

}

$url = 'http://bob.com/';
var_dump( removeSlash($url) );

输出:

string(15)"http://bob.com"

上面var_dump说返回了 15 个字符,但实际上有 14 个......

所以我忽略它。然后我编写了更多代码将其存储在数据库中。隐形人物出现!

在 phpMyAdmin 中,当我编辑插入输出的行时,这就是显示的内容(在文本字段中):

http://bob.com </p>

不知道这是怎么回事。我试过了str_replace()$var[15] = ''还有很多其他的方法。所有人都在做同样的事情!

4

2 回答 2

2

简单的情况是使用

rtrim($currentUrl, "/");

但根据评论,你可能会更幸运。

function removeSlash($currentURL)
{

    return preg_replace('/[\x00-\x1F\x80-\xFF]/', '', rtrim($currentURL));
}
于 2013-05-30T13:31:47.513 回答
0

你可以试试:

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

不过,您的问题非常奇怪,这可能不是问题。

于 2013-05-30T13:31:13.160 回答