Пятница, 18.07.2025, 01:44 Приветствую Вас Гость

On-line: Книги, учебники, статьи

Главная | Регистрация | Вход | RSS

Функции работы с URL

parse_url() 
parse_str() rawurlencode() 
rawurldecode() base64_encode() 
base64_decode() 


parse_url()

Функция обрабатывает URL и возвращает его компоненты.

Синтаксис:
array parse_url(string url)

Эта функция возвращает ассоциативный массив, включающий множество различных существующих компонентов URL: "scheme", "host", "port", "user", "pass", "path", "query" и "fragment".

И если мы напишем вот такой скриптик

Пример:
  $url = "http://www.google.com.ru/search?hl=ru&ie=UTF-8&oe=UTF-8&q=softtime&lr=";
  $arr = parse_url($url);
  print_r($arr);
?>

то получим следующий результат:
  
Array ( [scheme] => http [host] => www.google.com.ru [path] => /search [query] => hl=ru&ie=UTF-8&oe=UTF-8&q=softtime&lr= ) 


parse_str()

Заносит компоненты URL в переменные.

Синтаксис:
void parse_str(string str [, array arr])

Функция parse_str() интерпретирует строку str так, как если бы эта строка содержала в себе переменные и их значения и передавалась бы в URL. Т.е. функция устанавливает для этих переменных значения. Если задан второй необязательный параметр arr, то значения, найденные при помощи функции parse_str(), сохраняться не в глобальных переменных, а в элементах указанного массива. Пример приводить не буду, вроде все понятно.

rawurlencode()

Функция кодирования URL.

Синтаксис:
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("
");
  echo("закодировали:");echo("
");
  $url_code = rawurlencode($url);
  echo($url_code);echo("
");
  echo("и раскодировали:");echo("
");
  $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= 


base64_encode()

Функция кодирует данные в кодировке MIME base64.

Синтаксис:
string base64_encode(string data)

Функция base64_encode() возвращает строку, переданную в параметре data в кодировке MIME base64. 

Кодировка MIME base64 разработана для передачи двоичных данных через транспортные слои, которые не содержат восьмой бит, к примеру, как почтовые тела. Заметим, что данные в кодировке Base64 занимают примерно на 30% больше места, чем оригинал.

base64_decode()

Декодирует данные, закодированные в кодировке MIME base64.

Синтаксис:
string base64_decode(string encoded_data)

Функция base64_decode() декодирует encoded_data и возвращает оригинал данных. Пример приводить не буду – все просто, и, поверьте, работает.





















Вход на сайт
Поиск
Календарь
«  Июль 2025  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Наш опрос
Как Вам удобнее??
Всего ответов: 341
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0