(PHP 4, PHP 5, PHP 7)
rawurlencode — URL-кодирование строки согласно RFC 3986
str
URL, который должен быть закодирован.
Возвращает строку, в которой все не цифро-буквенные символы, кроме -_.~, должны быть заменены знаком процента (%), за которым следует два шестнадцатеричных числа. Это кодирование, описанное в » RFC 3986, служит для защиты буквенных символов от интерпретации в качестве специальных разграничителей URL и защищает URL от искажения при передаче символов с последующей конвертацией (как в некоторых почтовых системах).
Замечание:
До версии PHP 5.3.0 rawurlencode кодировал символ "тильда" (~) в соответствии с » RFC 1738.
Версия | Описание |
---|---|
5.3.4 | Символы "тильда" больше не кодируются, когда rawurlencode() используется с EBCDIC-строками. |
5.3.0 | Теперь соответствует » RFC 3986. |
Пример #1 Пример использования rawurlencode для включение пароля в URL FTP
<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
'@ftp.example.com/x.txt">';
?>
Результат выполнения данного примера:
<a href="ftp://user:foo%20%40%2B%25%[email protected]/x.txt">
Или, если вы передаете информацию как часть URL:
Пример #2 Пример использования rawurlencode()
<?php
echo '<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">