0

という変数の POST リクエストで URL を送信したいと考えていますsurl。JavaScript でエンコードし、PHP でデコードするにはどうすればよいですか? たとえば、 の値は にsurlなりますhttp://www.google.co.in/search?q=javascript+urlencode+w3schools

編集

言い忘れましたが、フォーム送信ではなく ajax リクエストです。

4

3 に答える 3

3

何もする必要はありません。そのままお送りください。ブラウザと PHP がすべてのエスケープとエスケープ解除を行います ( と を使用form.surl.value = surl; form.submit()している場合$_POST['surl'])。または、JavaScript を使用せずにプレーン フォームを使用することもできます (必要に応じて)。

henasraf のコメントに返信します。 これを試して。

<form id="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"
    onsubmit="this.via_js.value=this.via_plain_form.value;">
<input type="hidden" name="via_js"/>
<input type="text" name="via_plain_form" value="Paste you url here"/>
<input type="submit" name="submit" value="Submit"/>
</form>

<?php

if (isset($_POST['submit'])) {
    var_export($_POST);
}

?>

の場合http://www.google.co.in/search?q=javascript+urlencode+w3schools、出力します

array (
    'via_js' => 'http://www.google.co.in/search?q=javascript+urlencode+w3schools',
    'via_plain_form' => 'http://www.google.co.in/search?q=javascript+urlencode+w3schools',
    'submit' => 'Submit',
)
于 2010-02-25T07:43:57.550 に答える
2

使用encodeURIComponent(uri)(エンコード用)およびdecodeURIComponent(uri)デコード用、

例 (エンコーディング)。

var uri="http://w3schools.com/my test.asp?name=ståle&car=saab";
document.write(encodeURIComponent(uri));

出力

http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab

解読は読者に任されています。:-)

ソース: http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp

于 2010-02-25T08:01:15.607 に答える
0

PHPに関しては、urlencode()それとurldecode().

于 2010-02-25T09:05:11.223 に答える