好的,所以如果我对包含空格、感叹号、单引号等的字符串进行 urlencode 并在页面中回显它,我会看到包含感叹号的字符串已按照预期进行编码。但是,如果我将编码的字符串放在<a href=
感叹号中并且单引号不再编码,那么 CI 会抛出关于 url 中不允许的字符的错误。
<?
$string = 'Hello\'s world!';
$url = urlencode(stringtolower($string));
// echo it
echo $url; // outputs: hello%27s+world%21
?>
<a href="<? echo base_url() . $url; ?>">Link</>' <!-- outputs: ./hello's+world! -->
魔鬼在这里发生了什么?