Php 在Codeigniter中,从URI intepret获取符号的方式不同

Php 在Codeigniter中,从URI intepret获取符号的方式不同,php,codeigniter,codeigniter-2,codeigniter-url,Php,Codeigniter,Codeigniter 2,Codeigniter Url,我正在从uri获取“$”符号。 我已经在配置文件中添加了$in允许的uri字符。 稍后,我将使用该uri字符串从数据库中获取数据。 这个问题可以从下面的例子中看出 我的Url是这样的 .....com/search/shirt/$ 我的示例代码如下 echo $this->uri->segment('3'); echo "<br>"; var_dump($this->uri->segment('3')); echo "<br>"; $dol_si

我正在从uri获取“$”符号。 我已经在配置文件中添加了$in允许的uri字符。 稍后,我将使用该uri字符串从数据库中获取数据。 这个问题可以从下面的例子中看出

我的Url是这样的

.....com/search/shirt/$
我的示例代码如下

echo $this->uri->segment('3');
echo "<br>";
var_dump($this->uri->segment('3'));
echo "<br>";
$dol_sign = '$';
echo $dol_sign;
echo "<br>";
var_dump($dol_sign);
$
string(5) "$"
$
string(1) "$" 

它以不同的方式看待这一部分。这就是为什么我在从与URI段匹配的DB中获取数据时遇到问题。

您的第一个符号是HTML编码的实体-如果您看到页面的源代码,您将看到
&而不是简单的
&

您可以使用PHP函数将其解码为普通字符,或对其进行测试