2013-03-18 24 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