2017-11-21 10 views
0

私は私のURLにこれを持っていると言う。PHPを使用してURLから特殊文字を取得するにはどうすればよいですか?のような%20

/?utmsource=John%20Kez 

「John%20Kez」はそのままで、%20はスペースではありません。私が試してみました;

echo $_GET['utmsource']; 
echo htmlspecialchars_decode($_GET['utmsource']); 
echo htmlspecialchars($_GET['utmsource']); 

すべてが「John Kez」を返します。どうすれば 'John%20Kez'を返すことができますか?

+5

[ 'でurlencode()'](http://php.net/manual/en/function.urlencode.php) –

+0

私はURLでこれを持っています。 utmsource = John%27sSource 次にコードにこれがあります。 echo urlencode($ _ GET ['utmsource']); これが返されました。 John%5C%27sSource 'John%Keys'が 'John + Kez'を返しました なぜ正確な文字が返されないのでしょうか? –

+0

は回答エリア@JayBlanchard * lol!*でそれを打つべきだったはずですが、私は確かにこれのための欺瞞がどこかにあると確信しています。 –

答えて

1

あなたはrawurlencode()使用することができます。

echo rawurlencode($_GET['utmsource']); 
+0

私はこれをURLに入れました。 utmsource = John%27sSource 次にコードにこれがあります。 echo urlencode($ _ GET ['utmsource']); これが返されました。 John%5C%27sSource 'John%Keys'が 'John + Kez'を返しました なぜ正確な文字が返されないのでしょうか? –

+0

docs:* "-_以外のすべての非英数字をパーセント記号(%)で置き換え、その後に2桁の16進数と**スペースをプラス(+)記号**で置き換えた文字列を返します。 "* –

+0

私は' rawurlencode() 'を使用する答えを更新しました –

関連する問題