0

残念ながら、htmlentities、urlencode、htmlspecialchars - 何もうまくいかないようです。次のように、URL の文字列「Music & Dance」を GET パラメータとして送信しようとしています。

http://www.example.com?myvar=str.....

を受信しようとするとmyvar、常に「音楽」と表示されます。これが意味することは、文字列が文字で途切れるということです&

どんな助けでも大歓迎です。

4

2 に答える 2

1

結果は になります?myvar=Music%20%26%20Dance

値を url エンコードし、完全な url を html エンコードしていることを確認してください。後者は、有効な html を作成するために必要です。

例:

var value1 = "Music & Dance";
var value2 = "Awesomeness";
var qs = "?myvar=" + urlencode(value1) + "&level=" + urlencode(value2);
// Result: "?myvar=Music%20%26%20Dance&level=Awesomeness"

var href = htmlencode(qs);
// Result: "?myvar=Music%20%26%20Dance&level=Awesomeness";

write("<a href=\"" + href + "\">my link!</a>");
于 2013-07-12T16:19:17.740 に答える
0

STD 66は を予約文字&として定義しています。通常、名前と値のペアを区切るために使用されます。

あなた&は値の一部であるため、パーセントエンコードする必要があります → %26. したがって、値はMusic%20%26%20Dance(%20スペースの場合) にする必要があります。

于 2013-07-12T16:22:13.360 に答える