0

次のコードでは....

<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"/>

ここでは、'Social & Political' の代わりに 'Social' のみを取得する値です。これを「Social Political」に変更すると、完璧に機能します。何故ですか?

4

4 に答える 4

4

&URI と HTML の両方で特別な意味を持ちます。あなたが入れているクエリ文字列では、「このキーと値のペアの終わりと次のペアの始まり」を意味します。

文字列をurlencodeURL に挿入する前に (すぐに) 実行します。

htmlspecialcharsHTML に挿入する前に、(すぐに)文字列を実行します。

(urlencode は、HTML 特殊文字を文字列に残すべきではありませんが、HTML と連結する前に、htmlspecialchars を介して「HTML であると認識されていない」すべてのデータをプッシュすることをお勧めします)。

于 2012-09-07T06:18:56.177 に答える
1

&特殊文字だから。

PHP関数urlencode()を使用し、urldecode()

于 2012-09-07T06:17:48.687 に答える
0

以前の回答を補完するために、これは機能します

a href="General.php?category=社会 %26 政治"

%26 は文字 & の URL コードです。

于 2012-09-07T06:25:01.617 に答える
0

urlencodeクエリ文字列で渡す変数に使用します

于 2012-09-07T06:19:22.493 に答える