phpで日本語urlをエンコードorデコードする簡単な方法
こんにちは! あますた(@amaguristar)です。
最近日本語のurlを使うところも増えてきましたよね?
で、
リンクを貼ろうと思っても当然、日本語なのでうまくいかない時があります。
最近のブラウザは賢いのでurlをコピーした時点で変換してくれますが、中にはさまざまな原因があり、うまくいかない時があります。
ましてや、コピーしたurlをデコードしてリンクを貼りたい時は一手間必要ですよね?
例として、
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_script
上記リンク先がある時、<a>
タグのhref
には上記を設定すれば良いですが、表示は
https://wpdocs.osdn.jp/関数リファレンス/wp_enqueue_script
と本来の日本語urlとして表示したい時はデコードする必要があります。
上記のサイトへは↓↓↓
>> https://wpdocs.osdn.jp/関数リファレンス/wp_enqueue_script
そんな時に利用するのは下記関数。
- urlencode
- urldecode
urlencode関数の詳細は↓↓↓
>> https://www.php.net/manual/ja/function.urlencode.php
urldecode関数の詳細は↓↓↓
>> https://www.php.net/manual/ja/function.urldecode.php
上記関数を利用すれば
str1 = 'https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_script';
result = decode(str1); // result = https://wpdocs.osdn.jp/関数リファレンス/wp_enqueue_script
str2 = 'https://wpdocs.osdn.jp/関数リファレンス/wp_enqueue_script';
result = encode(str2); // result = https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_script
と、簡単に変換可能です。
注意!
冒頭でも触れましたが、最近のブラウザは賢いので日本語urlを入力してもちゃんと表示してくれますが、知ってて使うのと知らないで使うのでは大きな隔たりがあるので参考までに。