(PHP 4, PHP 5)
rawurlencode — 按照 RFC 1738 對 URL 進行編碼
說明
string rawurlencode ( string$str
)
根據 » RFC 3986 編碼指定的字符。
參數
str
要編碼的 URL。
返回值
返回字符串,此字符串中除了 -_. 之外的所有非字母數字字符都將被替換成百分號(%)后跟兩位十六進制數。這是在 » RFC 3986 中描述的編碼,是為了保護原義字符以免其被解釋為特殊的 URL 定界符,同時保護 URL 格式以免其被傳輸媒體(像一些郵件系統)使用字符轉換時弄亂。
Note:
在 PHP 5.3.0 之前,rawurlencode 根據 » RFC 1738 來編碼波浪線(~)。
更新日志
版本 說明 5.3.4 因為 rawurlencode() 使用了 EBCDIC,所以波浪線字符不會再被編碼。 5.3.0 現在符合了» RFC 3986。
范例
Example #1 在 FTP URL 里包含一個密碼
<?php
echo '<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 構成部分去傳遞信息:
Example #2 rawurlencode() 示例 2
<?php
echo '<a ;
?>
以上例程會輸出:
<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">
參見
rawurldecode() - 對已編碼的 URL 字符串進行解碼 urldecode() - 解碼已編碼的 URL 字符串 urlencode() - 編碼 URL 字符串 » RFC 3986