CodeIgniter 的 URI 段系统有一个奇怪的问题。
当我有这个网址时:
http://www.mywebsite.com/forums/category_name/forum_name/topic_name ..(是的,名字有两个点)
现在我在 PHP 中执行此操作:
$topic = $this->uri->segment(4);
>>> echo $topic: 'topic_name..'
这完美地工作。但奇怪的是。当我像这样对 URL 附加回复时:
http://www.mywebsite.com/forums/category_name/forum_name/topic_name../reply
现在我再次执行 PHP 代码:
$topic = $this->uri->segment(4);
>>> echo $topic: 'topic_name '
如您所见,它突然将我的“..”替换为“”(一个空格,为什么连两个都不行?)。
有谁知道当我在一个带点(“。”)之后添加一个段时,URI 段方法是否可能会清理某些东西。奇怪的是,当我手动修复 URL 后面有一个空格时,它又可以工作了,因为在 trim() 之后它仍然有“..”的左边,这次 CodeIgniter 似乎没有碰到它们:
http://www.mywebsite.com/forums/category_name/forum_name/topic_name..%20/reply
$topic = $this->uri->segment(4);
> echo $topic: 'topic_name.. '
>>> echo trim($topic): 'topic_name..'