2013-03-18 79 views
0

我有一個典型的php get方法,它從這樣的url中獲得一所學校的名稱。PHP使用&作爲字符串的一部分獲得方法

$sname_original = $_GET['school']; 

然後我顯示這樣的學校名稱。

echo $sname_original; 

這個完美的作品,除非學校的名字中有一個「&」的象徵。如果有一個&符號,例如「Texas a & m」,則回顯顯示爲「Texas a」,其他所有內容都將被切斷。我應該做什麼或有什麼逃生?在此先感謝

回答

3

是的,你必須申請urlencode()到每個URL參數值,之後&將被編碼爲%26和空間作爲+

Texas+a%26m 

Inportant:你只需要編碼當生成的網址,和PHP將解碼它時自動解析url

+0

我很好奇。爲什麼不用preg_replace與'&'? – 2013-03-18 04:09:31

+0

@Fred:空間怎麼樣?嘗試編寫完成相同作業的'preg_replace' – zerkms 2013-03-18 04:10:06

+0

我以前見過類似的問題。 – 2013-03-18 04:12:06

相關問題