Книга: Справочник по PHP
Функции URL
Функции URL
parse_url
Обрабатывает URL и возвращает его компоненты.
Синтаксис:
array parse_url(string url);
Эта функция возвращает ассоциативный массив, включающий множество различных существующих компонентов URL. Они включают "scheme", "host", "port", "user", "pass", "path", "query" и "fragment".
parse_str
Заносит строки URL в переменные.
Синтаксис:
void parse_str(string str [, array arr]);
Функция parse_str() интерпретирует строку str, как если бы эта строка содержала в себе переменные и их значения и передавалась бы в URL. Наша функция устанавливает для этих переменных значения.
Если задан второй необязательный параметр, то значения, найденные при помощи функции parse_str(), сохраняться не в глобальных переменных, а в элементах указанного массива.
$str = "name[]=Vasia&name[]=Pupkin&id=12645&[email protected]&url=www.vasia.ru";
parse_str($str);
parse_str($str, $arr);
echo $id; // выведет 1264
echo $name[0]; // выведет Vasia
echo $name[1]; // выведет Pupkin
print_r($arr);
выведет
Array( [name] => Array ( [0] => Vasia [1] => Pupkin ) [id] => 12645 [mail] => [email protected] [url] => www.vasia.ru)
urlencode
Кодирование строки в URL
Синтаксис:
string urlencode (string str)
Возвращает строку, в которой все не алфавитно-цифровые символы (за исключением дефиса "-" и знака подчеркивания "_" и точки ".") заменены последовательностями: знак процента (%), за которым следуют две шестнадцатеричные цифры (обозначающие код символа), а символ пробела заменен на знак "+". Именно таким образом кодируются все данные, посылаемые HTML-формами. Медиа-тип этого кодирования обозначается как application/x-www-form-urlencoded; он отличается от стандарта кодирования RFC 1738 (rawurlencode()) тем, что по историческим причинам пробелы заменяются на знак плюс. Эта функция удобна при кодировании строки для использования в строке запроса, являющейся частью URL, и при передаче переменных на следующую страницу:
<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>
<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>
urldecode
Декодирование строки из URL
Синтаксис:
string urldecode (string str)
Декодирует в строке последовательности %## (так в URL кодируются спецсимволы).
<?php
$a = explode('&', $QUERY_STRING);
$i = 0;
while ($i < count($a)) {
$b = split('=', $a[$i]);
echo 'Value for parameter ', htmlspecialchars(urldecode($b[0])),
' is ', htmlspecialchars(urldecode($b[1])), "<br />n";
$i++;
}
?>
rawurlencode
Кодирование URL.
Синтаксис:
string RawUrlEncode(string str);
Функция RawUrlEncode() возвращает строку, в которой все не алфавитно-цифровые символы (за исключением дефиса "-", знака подчеркивания "_" и точки ".") заменены последовательностями: знак процента (%), за которым следуют две шестнадцатеричные цифры, которые обозначают код символа. Это кодирование нужно для того, чтобы буквенные символы не обрабатывались в качестве разделителей строки URL и не искажались при передаче в сетях.
echo "<A href=ftp://user:".rawurlencode($mypasswd).
"@ftp.my.com/x.txt>"; // передача пароля в гиперссылке
rawurldecode
Производит декодирование URL.
Синтаксис:
string rawurldecode(string str);
Эта функция возвращает строку, в которой последовательности с знаком процента (%) и следующими за ним двумя шестнадцатеричных числа преобразует в символы, соответствующими этому коду. Аналогична urldecode(), но не воспринимает + как пробел.
$str="foo%20bar%40baz";
echo rawurldecode($str);
// выведет foo bar@baz
base64_encode
Кодирует данные в кодировке MIME base64.
Синтаксис:
string base64_encode(string data);
base64_encode() возвращает data закодированные в кодировке base64. Эта кодировка разработана для того, чтобы передавать двоичные данные через транспортные слои, которые не содержат восьмой бит, такие как почтовые тела. Данные в кодировке Base64 занимают примерно на 33% больше места, чем оригинал.
base64_decode
Декодирует данные, закодированные в кодировке MIME base64.
Синтаксис:
string base64_decode(string encoded_data);
base64_decode() декодирует encoded_data и возвращает оригинал данных. Возвращаемые данные могут быть двоичными.
- Функции для работы с одиночными символами
- Функции отрезания пробелов
- Поиск в тексте
- Функции сравнения
- Форматирование и вывод строк
- Составление/разбиение строк
- Работа с блоками текста
- Функции для преобразования символов
- Функции изменения регистра
- Установка локали (локальных настроек)
- Преобразование кодировок
- Функции URL
- Работа с бинарными данными
- Строковые суммы и хеш-функции
- Встроенные функции
- Функции XSLT
- Глава 11. Сетевые функции, JSON, XML и Twitter
- 11.1. Асинхронная загрузка с применением NSURLConnection
- 11.6. Отправка запросов HTTP POST с применением NSURLConnection
- 22.6.4. URL-адреса, ссылающиеся на двоичные объекты
- Аргументы функции в Python
- 3. Функции
- Новые функции API для работы с Blob и массивами
- Математические функции
- Размытые функции
- 7.3. Финансовые функции