rawurlencode
(PHP 4, PHP 5, PHP 7)
rawurlencode — RFC 3986 に基づき URL エンコードを行う
パラメータ
str
- エンコードする URL。
返り値
-_.~
を除くすべての非アルファベット文字をパーセント
記号 (%
)に続いて 2 つの 16 進数がある表現形式に
置き換えた文字列を返します。これは、文字定数が特殊な URL デリミタと
して解釈されたり、URL デリミタが(いくつかの電子メールシステムのような)
転送メディアにより文字変換されて失われてしまったりすることが
ないように、» RFC 3986
で定められたエンコーディング方法です。
注意:
PHP 5.3.0 より前のバージョンでは、rawurlencode はチルダ (
~
) もエンコードしていました。これは » RFC 1738 で定められた方法です。
例
例1 FTP URL へのパスワードの埋め込み
<?phpecho '<a href="ftp://user:', rawurlencode('foo @+%/'), '@ftp.example.com/x.txt">';?>
上の例の出力は以下となります。
<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">
あるいは、URL の PATH_INFO 中の情報を渡した場合は、
例2 rawurlencode() の例 2
<?phpecho '<a href="http://example.com/department_list_script/', rawurlencode('sales and marketing/Miami'), '">';?>
上の例の出力は以下となります。
<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">
参考
- rawurldecode() - URL エンコードされた文字列をデコードする
- urldecode() - URL エンコードされた文字列をデコードする
- urlencode() - 文字列を URL エンコードする
- » RFC 3986