文字列のスペースを%20
に変換するにはどうすればよいですか?
私の試みは次のとおりです。
$str = "What happens here?";
echo urlencode($str);
出力は"What+happens+here%3F"
であるため、スペースは%20
として表されません。
何が間違っていますか?
代わりにrawurlencode
関数を使用してください。
プラス記号は、URLパラメーターのスペース文字の歴史的なエンコードです。たとえば、urlencode()
関数の ヘルプに記載されている です。
同じページに必要な答えが含まれています-代わりにrawurlencode()
を使用して RFC 3986 互換エンコーディングを取得します。
_%20
_バリアントを使用する必要がある場合、おそらく rawurlencode()
を使用できます。