私は1つの引数を取るPHPスクリプトを持っています。そして私はその引数をキャプチャし、ここでurlencodeにphp引数は改行で文字列を返します
を行う必要があり、出力は、新しいラインがあるとして誤っているHow+are+you.%5CnAre+you+free%3F%
だろう問題に
<?php
$input=$argv[1];
#$input="How are you.\nAre you free?";
echo "$input\n";
$escape_input = urlencode("$input");
echo "$escape_input";
?>
$ php test.php "How are you.\nAre you free?"
を表示するサンプルコードです正しくエンコードされていません。
しかし、あなたは、コード内で同じ文字列をハードコーディングしている場合、それは 正しい出力を動作します:How+are+you.%0AAre+you+free%3F%
あなたのコマンドでは、 '\ n'は2文字ですが、PHPコードでは1だけです。 – tilz0R
どうすれば1とすることができますか?引数 –
*から渡す必要があります。正しくエンコードされていません。 "* - 入力文字列に改行文字はありません。 '\ n'は改行ではありません。これは、PHPソースコードの文字列の改行文字のエンコーディングです。あなたのスクリプトに改行を渡すと、それが正しくエンコードされます。 – axiac