urlencode
URL-кодирует строку
&reftitle.description;
stringurlencode
stringstring
Функция кодирует строку, которая будет использоваться в части запроса URL-адреса,
что упрощает передачу переменных на следующую страницу.
&reftitle.parameters;
string
Строка, которая будет закодирована.
&reftitle.returnvalues;
Функция возвращает строку, в которой символы, кроме буквенно-цифровых и -_.,
были заменены знаком процента (%), за которым следует
два шестнадцатеричных числа, а пробелы закодированы как знак
сложения (+).
Строка кодируется тем же способом, что и POST-данные веб-формы, то есть по
типу контента application/x-www-form-urlencoded. Это
отличается от кодирования по стандарту RFC 3986
(смотрите описание функции rawurlencode ) тем, что по историческим причинам
пробелы кодируются как знак «плюс» (+).
&reftitle.examples;
Пример использования функции urlencode
';
?>
]]>
&example.outputs;
]]>
Пример использования функций urlencode и htmlentities
';
?>
]]>
&example.outputs;
]]>
&reftitle.notes;
Соблюдают осторожность с переменными, которые совпадают с HTML-сущностями.
Мнемоники наподобие &, © и £ браузер разбирает и использует
как реальные сущности, а не как имя переменной.
Это известная проблема, о которой консорциум W3C рассказывает людям много лет.
Подробнее рассказано по ссылке: &url.argsep;
PHP поддерживает изменение разделителя аргументов на «точку с запятой»,
которую предложил W3C, через ini-директиву arg_separator.
К сожалению, бо́льшая часть пользовательских агентов не отправляют данные формы в формате,
разделённые «точкой с запятой». Более переносимый способ обойти проблему —
использовать разделитель & вместо &.
Не нужно для этого изменять PHP-директиву arg_separator.
Оставьте разделитель &, но кодируйте URL-адрес функциями htmlentities
или htmlspecialchars.
&reftitle.seealso;
urldecode
htmlentities
rawurlencode
rawurldecode
RFC 3986