在以下代码中....
<td height="27" align="right" valign="middle"><a href="General.php?category=Social & Political" target="_parent">Social & Political</a></td>
在General.php页面....
<input type='text' name='category' id='category' value='<?= $_GET['category']; ?>' maxlength="25"/>
这里的价值仅为“社交”,而不是“社交”和“社交”。政治'。如果我将其改为“社会政治”,那就完美了。那是为什么?
答案 0 :(得分:4)
&
在URI和HTML中都有特殊含义。在查询字符串中,它是您放置它的位置,它表示“此键/值对的结束以及下一个键的开始”。
在将字符串插入网址之前,通过urlencode
(立即)运行您的字符串。
在将字符串插入HTML之前,通过htmlspecialchars
(立即)运行您的字符串。
(urlencode不应该在字符串中留下任何HTML特殊字符,但在将它与HTML连接之前,通过htmlspecialchars推送所有“未知为HTML”的数据是一个好习惯。)
答案 1 :(得分:1)
因为&
是一个特殊字符。
使用PHP函数urlencode()
和urldecode()
答案 2 :(得分:0)
将urlencode
用于您在查询字符串中传递的变量
答案 3 :(得分:0)
为了补充以前的答案,这将有效
a href =“General.php?category = Social%26 Political”
%26是字符&amp;
的网址代码