0

リンクを介して情報(文字列)を送信した後、文字列内のスペースを+記号に置き換えたいのですが、これが問題です。

html:

<a href="script.php?name=Eri+Son">send</a>

脚本:

 $name = $_GET['name'];
    str_replace(" ", "+", $name);
    echo $name;

result: Eri Son
4

3 に答える 3

2

str_replaceによって返される値を$name変数に割り当てていません。試す:

$name = str_replace(" ", "+", $name);

于 2013-01-26T13:00:51.190 に答える
1

リテラル+をクエリ文字列パラメータとして送信する場合は、次のようにurlencodeする必要があります。

<a href="script.php?name=<?php echo urlencode('Eri+Son'); ?>">send</a>

結果:

<a href="script.php?name=Eri%2BSon">send</a>

サーバー側では、$_GET[name]が含まれますEri+Son。他の答えと、クエリ文字列パラメータに対してstr_replaceを実行するというあなたの考えは間違っています。

于 2013-01-26T14:03:41.110 に答える
0

これを試して

echo preg_replace(' ', '+', $name);
于 2013-01-26T13:01:31.827 に答える