好吧,如果我urlencode包含空格,感嘆號,單引號等字符串,並在頁面中回顯它,我看到包含感嘆號的字符串已被編碼爲一個會期待。但是,如果將編碼的字符串置於<a href=
中,感嘆號和單引號不再編碼,並且CI將引發有關URL中不允許的字符的錯誤。Codeigniter urlencode感嘆號鏈接不工作
<?
$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! -->
魔鬼在這裏發生了什麼?
這是最佳答案。是的,我只在Firefox中嘗試過,因爲我從CI獲取錯誤,我沒有嘗試在其他瀏覽器中使用。自從我在控制器中放入一個函數來接收鏈接後,CI錯誤就消失了。但是,通過我,因爲我會期待404而不是無效的字符錯誤。感謝您直視我的愚蠢。 – Ally