Синтаксис:
string rawurlencode(string str)
Функция rawurlencode возвращает строку, в которой все не алфавитно-цифровые символы, за исключением дефиса \"-\", знака подчеркивания \"_\" и точки \".\", заменены последовательностями: знак процента (%), за которым следуют две шестнадцатеричные цифры, обозначающие код символа. Кодирование нужно для того, чтобы буквенные символы не обрабатывались как разделители URL-строки и не искажались при передаче в сетях.
rawurldecode()
Производит декодирование URL.
Синтаксис:
string rawurldecode(string str)
Думаю, что с этой функцией все понятно, добавлю лишь, что она аналогична функции urldecode(), но не воспринимает \"+\" как пробел.
Давайте для примера на эти две функции что-нибудь закодируем и раскодируем.
<?
$url = "http://www.google.com.ru/search?hl=ru&ie=UTF-8&oe=UTF-8&q=софттайм&lr=";
echo("исходная строка: $url");echo("<br>");
echo("закодировали:");echo("<br>");
$url_code = rawurlencode($url);
echo($url_code);echo("<br>");
echo("и раскодировали:");echo("<br>");
$url_decode = rawurldecode($url_code);
echo($url_decode);
?>
И вот что получилось:
исходная строка: http://www.google.com.ru/search?hl=ru&ie=UTF-8&oe=UTF-8&q=софттайм&lr= закодировали: http%3A%2F%2Fwww.google.com.ru%2Fsearch%3Fhl%3Dru%26ie%3DUTF-8%26oe%3DUTF-8%26q%3D%F1%EE%F4%F2%F2%E0%E9%EC%26lr%3D и раскодировали: http://www.google.com.ru/search?hl=ru&ie=UTF-8&oe=UTF-8&q=софттайм&lr=