mirror of
https://github.com/php/doc-ru.git
synced 2026-03-23 23:32:16 +01:00
1246 lines
45 KiB
XML
1246 lines
45 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 9b09581bfdd1fa1c33daa740ad49599cf665cff4 Maintainer: shein Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<appendix xml:id="filter.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
&reftitle.constants;
|
||
&extension.constants;
|
||
|
||
<variablelist>
|
||
<title>Константы входных данных</title>
|
||
<simpara>
|
||
Следующие константы указывают при вызове функций
|
||
<function>filter_input</function>
|
||
и <function>filter_input_array</function>.
|
||
</simpara>
|
||
<varlistentry xml:id="constant.input-post">
|
||
<term>
|
||
<constant>INPUT_POST</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Переменные суперглобального массива <link linkend="reserved.variables.post">POST</link>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.input-get">
|
||
<term>
|
||
<constant>INPUT_GET</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Переменные суперглобального массива <link linkend="reserved.variables.get">GET</link>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.input-cookie">
|
||
<term>
|
||
<constant>INPUT_COOKIE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Переменные суперглобального массива <link linkend="reserved.variables.cookies">COOKIE</link>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.input-env">
|
||
<term>
|
||
<constant>INPUT_ENV</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Переменные суперглобального массива <link linkend="reserved.variables.environment">ENV</link>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.input-server">
|
||
<term>
|
||
<constant>INPUT_SERVER</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Переменные суперглобального массива <link linkend="reserved.variables.server">SERVER</link>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.input-session">
|
||
<term>
|
||
<constant>INPUT_SESSION</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Переменные суперглобального массива <link linkend="reserved.variables.session">SESSION</link>.
|
||
Константу удалили с PHP 8.0.0; прежде константа оставалась в исходном коде, но не обрабатывалась функциями фильтрации.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.input-request">
|
||
<term>
|
||
<constant>INPUT_REQUEST</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Переменные <link linkend="reserved.variables.request">REQUEST</link>.
|
||
Константу удалили с PHP 8.0.0; прежде константа оставалась в исходном коде, но не обрабатывалась функциями фильтрации.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<variablelist xml:id="filter.constants.flags.generic">
|
||
<title>Общие флаги фильтров</title>
|
||
<varlistentry xml:id="constant.filter-flag-none">
|
||
<term>
|
||
<constant>FILTER_FLAG_NONE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Не применять флаги.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-require-scalar">
|
||
<term>
|
||
<constant>FILTER_REQUIRE_SCALAR</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Проверять, принадлежит ли входное значение скалярному типу.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-require-array">
|
||
<term>
|
||
<constant>FILTER_REQUIRE_ARRAY</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Проверять, принадлежит ли входное значение типу <type>array</type>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-force-array">
|
||
<term>
|
||
<constant>FILTER_FORCE_ARRAY</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Оборачивать скалярные входные данные в одноэлементный массив (<type>array</type>)
|
||
для фильтров, которые обрабатывают массивы.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-null-on-failure">
|
||
<term>
|
||
<constant>FILTER_NULL_ON_FAILURE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр возвращает &null; вместо &false;, если значение не прошло проверку.
|
||
</simpara>
|
||
<simpara>
|
||
Флаг указывают при проверке значений фильтрами семейства
|
||
<constant>FILTER_VALIDATE_<replaceable>*</replaceable></constant>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<variablelist xml:id="filter.constants.flags.sanitization">
|
||
<title>Флаги фильтров очистки</title>
|
||
<varlistentry xml:id="constant.filter-flag-strip-low">
|
||
<term>
|
||
<constant>FILTER_FLAG_STRIP_LOW</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Удалять символы с ASCII-кодами меньше 32.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-strip-high">
|
||
<term>
|
||
<constant>FILTER_FLAG_STRIP_HIGH</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Удалять символы с ASCII-кодами больше 127.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-strip-backtick">
|
||
<term>
|
||
<constant>FILTER_FLAG_STRIP_BACKTICK</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Удалять символы обратной кавычки <literal>`</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-encode-low">
|
||
<term>
|
||
<constant>FILTER_FLAG_ENCODE_LOW</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Кодировать символы с ASCII-кодами меньше 32.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-encode-high">
|
||
<term>
|
||
<constant>FILTER_FLAG_ENCODE_HIGH</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Кодировать символы с ASCII-кодами больше 127.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-encode-amp">
|
||
<term>
|
||
<constant>FILTER_FLAG_ENCODE_AMP</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Кодировать символ амперсанда <literal>&</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-no-encode-quotes">
|
||
<term>
|
||
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Отключить кодирование одинарных <literal>'</literal> и двойных <literal>"</literal>
|
||
кавычек для отдельных фильтров.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-empty-string-null">
|
||
<term>
|
||
<constant>FILTER_FLAG_EMPTY_STRING_NULL</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
<!-- TODO Document/check which filters accept this flag (FILTER_UNSAFE_RAW and FILTER_SANITIZE_STRING only) -->
|
||
Преобразовывать значение в &null;,
|
||
если очистка строки возвращает пустую строку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<variablelist xml:id="filter.constants.validation">
|
||
<title>Фильтры проверки данных</title>
|
||
|
||
<varlistentry xml:id="constant.filter-validate-bool">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_BOOL</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр возвращает значение &true; для значений <literal>"1"</literal>,
|
||
<literal>1</literal> (включая двоичную, восьмеричную и шестнадцатеричную нотации), <literal>1.0</literal>,
|
||
<literal>"true"</literal>, <literal>true</literal>,
|
||
<literal>"on"</literal>,
|
||
и <literal>"yes"</literal>.
|
||
</simpara>
|
||
<simpara>
|
||
Фильтр возвращает значение &false; для значений <literal>"0"</literal>,
|
||
<literal>0</literal> (включая двоичную, восьмеричную и шестнадцатеричную нотации), <literal>0.0</literal>,
|
||
<literal>"false"</literal>, <literal>false</literal>,
|
||
<literal>"off"</literal>,
|
||
<literal>"no"</literal>
|
||
и <literal>""</literal>.
|
||
</simpara>
|
||
<simpara>
|
||
Строковые значения сравнивают без учёта регистра.
|
||
С флагом <constant>FILTER_NULL_ON_FAILURE</constant> функция
|
||
изменяет значение результата проверки нелогических значений.
|
||
При установке флага вместо возврата значения &false; для нелогических значений функция возвращает значение &null;.
|
||
</simpara>
|
||
<variablelist xml:id="filter.constants.validation.bool.options">
|
||
<title>Доступные опции</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<simpara>
|
||
Фильтр доступен с PHP 8.0.0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry xml:id="constant.filter-validate-boolean">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_BOOLEAN</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
&Alias; фильтра <constant>FILTER_VALIDATE_BOOL</constant>.
|
||
До PHP 8.0.0 это название было каноническим названием фильтра проверки логических значений,
|
||
а с появлением нового названия стало псевдонимом.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry xml:id="constant.filter-validate-int">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_INT</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр проверяет, представляет ли значение целое число,
|
||
и приводит значение к типу <type>int</type>, если значение прошло проверку.
|
||
</simpara>
|
||
|
||
<note>
|
||
<simpara>
|
||
Строковые значения обрезаются функцией <function>trim</function>
|
||
перед проверкой.
|
||
</simpara>
|
||
</note>
|
||
|
||
<variablelist xml:id="filter.constants.validation.int.options">
|
||
<title>Доступные опции</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>min_range</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение пройдёт проверку, только если оно больше заданного значения или равно ему.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>max_range</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение пройдёт проверку, только если оно меньше заданного значения или равно ему.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<variablelist xml:id="filter.constants.validation.int.flags">
|
||
<title>Дополнительные флаги</title>
|
||
<varlistentry xml:id="constant.filter-flag-allow-octal">
|
||
<term>
|
||
<constant>FILTER_FLAG_ALLOW_OCTAL</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
<!-- TODO: Check that explicit octal prefix 0o and 0O are allowed -->
|
||
Пропускает целочисленные значения в восьмеричной нотации,
|
||
которая соответствует шаблону <literal>0[0-7]+</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-allow-hex">
|
||
<term>
|
||
<constant>FILTER_FLAG_ALLOW_HEX</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Пропускает целочисленные значения в шестнадцатеричной нотации,
|
||
которая соответствует шаблону <literal>0x[0-9a-fA-F]+</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry xml:id="constant.filter-validate-float">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_FLOAT</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр проверяет, представляет ли значение число с плавающей точкой,
|
||
и приводит значение к типу <type>float</type>, если значение прошло проверку.
|
||
</simpara>
|
||
|
||
<note>
|
||
<simpara>
|
||
Строковые значения обрезаются функцией <function>trim</function>
|
||
перед проверкой.
|
||
</simpara>
|
||
</note>
|
||
|
||
<variablelist xml:id="filter.constants.validation.float.options">
|
||
<title>Доступные опции</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>decimal</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
<!-- TODO -->
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>min_range</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение пройдёт проверку, только если оно больше заданного значения или равно ему.
|
||
Опция доступна с PHP 7.4.0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>max_range</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение пройдёт проверку, только если оно меньше заданного значения или равно ему.
|
||
Опция доступна с PHP 7.4.0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<variablelist xml:id="filter.constants.validation.float.flags">
|
||
<title>Дополнительные флаги</title>
|
||
<varlistentry>
|
||
<term>
|
||
<constant>FILTER_FLAG_ALLOW_THOUSAND</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Флаг разрешает фильтру пропускать значения с запятыми <literal>,</literal>,
|
||
которыми часто отбивают тысячи.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-validate-regexp">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_REGEXP</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр проверяет, соответствует ли значение регулярному выражению,
|
||
которое указали в опции <literal>regexp</literal>.
|
||
</simpara>
|
||
|
||
<variablelist xml:id="filter.constants.validation.regex.options">
|
||
<title>Доступные опции</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>regexp</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
<link linkend="book.pcre">Perl-совместимые</link> регулярные выражения.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry xml:id="constant.filter-validate-url">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_URL</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр проверяет, соответствует ли <acronym>URL</acronym>-адрес стандарту
|
||
<link xlink:href="&url.rfc;2396">RFC 2396</link>.
|
||
</simpara>
|
||
<variablelist xml:id="filter.constants.validation.url.options">
|
||
<title>Доступные опции</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<variablelist xml:id="filter.constants.validation.url.flags">
|
||
<title>Дополнительные флаги</title>
|
||
<varlistentry xml:id="constant.filter-flag-scheme-required">
|
||
<term>
|
||
<constant>FILTER_FLAG_SCHEME_REQUIRED</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Проверять, содержит ли <acronym>URL</acronym>-адрес схему ресурса.
|
||
</simpara>
|
||
<warning>
|
||
<simpara>
|
||
Флаг <emphasis>УСТАРЕЛ</emphasis> с PHP 7.3.0,
|
||
а с PHP 8.0.0 флаг <emphasis>УДАЛИЛИ</emphasis>,
|
||
поскольку фильтр <constant>FILTER_VALIDATE_URL</constant>
|
||
и без того проверяет, содержит ли адрес схему.
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-host-required">
|
||
<term>
|
||
<constant>FILTER_FLAG_HOST_REQUIRED</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Проверять, содержит ли <acronym>URL</acronym>-адрес хост.
|
||
</simpara>
|
||
<warning>
|
||
<simpara>
|
||
Флаг <emphasis>УСТАРЕЛ</emphasis> с PHP 7.3.0,
|
||
а с PHP 8.0.0 флаг <emphasis>УДАЛИЛИ</emphasis>,
|
||
поскольку фильтр <constant>FILTER_VALIDATE_URL</constant>
|
||
и без того проверяет, содержит ли адрес хост.
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-path-required">
|
||
<term>
|
||
<constant>FILTER_FLAG_PATH_REQUIRED</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Проверять, содержит ли <acronym>URL</acronym>-адрес путь.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-query-required">
|
||
<term>
|
||
<constant>FILTER_FLAG_QUERY_REQUIRED</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Проверять, содержит ли <acronym>URL</acronym>-адрес аргументы запроса.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<warning>
|
||
<simpara>
|
||
К допустимым <acronym>URL</acronym>-адресам относятся не только ресурсы
|
||
со схемой <literal>http://</literal>, которая определяет <acronym>HTTP</acronym>-протокол,
|
||
поэтому иногда требуется дополнительная проверка, которая определит,
|
||
содержит ли <acronym>URL</acronym>-адрес конкретный протокол
|
||
наподобие <literal>ssh://</literal> или идентификатор схемы наподобие <literal>mailto:</literal>.
|
||
</simpara>
|
||
</warning>
|
||
<warning>
|
||
<simpara>
|
||
Фильтр проверяет только <acronym>URL</acronym>-адреса, которые состоят из <acronym>ASCII</acronym>-символов,
|
||
поэтому отклоняет международные доменные имена (англ. Internationalized Domain Names, IDN).
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-validate-domain">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_DOMAIN</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр проверяет, соответствует ли доменное имя стандартам
|
||
<link xlink:href="&url.rfc;952">RFC 952</link>,
|
||
<link xlink:href="&url.rfc;1034">RFC 1034</link>,
|
||
<link xlink:href="&url.rfc;1035">RFC 1035</link>,
|
||
<link xlink:href="&url.rfc;1034">RFC 1123</link>,
|
||
<link xlink:href="&url.rfc;1034">RFC 2732</link>
|
||
и <link xlink:href="&url.rfc;2181">RFC 2181</link>.
|
||
</simpara>
|
||
<variablelist xml:id="filter.constants.validation.domain.options">
|
||
<title>Доступные опции</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<variablelist xml:id="filter.constants.validation.domain.flags">
|
||
<title>Дополнительные флаги</title>
|
||
<varlistentry xml:id="constant.filter-flag-hostname">
|
||
<term>
|
||
<constant>FILTER_FLAG_HOSTNAME</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Проверять, начинается ли имя хоста с буквенно-цифрового символа
|
||
и содержит только буквы, цифры или дефисы.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-validate-email">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_EMAIL</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр проверяет, «допустим» ли адрес эл. почты.
|
||
</simpara>
|
||
|
||
<simpara>
|
||
Фильтр проверяет, соответствует ли почтовый адрес синтаксису спецификации <literal>addr-spec</literal>
|
||
по стандарту
|
||
<link xlink:href="&url.rfc;822">RFC 822</link>.
|
||
Фильтр не поддерживает комментарии, свёртывание пробельных символов и домены без точек,
|
||
поэтому отклоняет такие адреса.
|
||
</simpara>
|
||
|
||
<variablelist xml:id="filter.constants.validation.email.options">
|
||
<title>Доступные опции</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<variablelist xml:id="filter.constants.validation.email.flags">
|
||
<title>Дополнительные флаги</title>
|
||
<varlistentry xml:id="constant.filter-flag-email-unicode">
|
||
<term>
|
||
<constant>FILTER_FLAG_EMAIL_UNICODE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Флаг разрешает фильтру принимать символы Юникода в локальной части адреса, которая идёт перед символом @.
|
||
Флаг доступен с PHP 7.1.0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<warning>
|
||
<simpara>
|
||
Проверка адреса эл. почты сложна, и единственный надёжный способ подтвердить
|
||
корректность и доступность адреса — отправить электронное письмо адресату.
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry xml:id="constant.filter-validate-ip">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_IP</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Фильтр проверяет значение как IP-адрес.
|
||
</para>
|
||
<variablelist xml:id="filter.constants.validation.ip.options">
|
||
<title>Available options</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<variablelist xml:id="filter.constants.validation.ip.flags">
|
||
<title>Дополнительные флаги</title>
|
||
<varlistentry xml:id="constant.filter-flag-ipv4">
|
||
<term>
|
||
<constant>FILTER_FLAG_IPV4</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Разрешает IPv4-адреса.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-ipv6">
|
||
<term>
|
||
<constant>FILTER_FLAG_IPV6</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Разрешает IPv6-адреса.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-no-res-range">
|
||
<term>
|
||
<constant>FILTER_FLAG_NO_RES_RANGE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Запрещает зарезервированные адреса.
|
||
</simpara>
|
||
<simpara>
|
||
К зарезервированным относятся адреса диапазонов, которые
|
||
в стандарте <link xlink:href="&url.rfc;6890">RFC 6890</link>
|
||
пометили атрибутом <literal>Reserved-By-Protocol</literal>.
|
||
</simpara>
|
||
<para>
|
||
Зарезервированные IPv4-адреса соответствуют следующим диапазонам:
|
||
<simplelist type="inline">
|
||
<member><literal>0.0.0.0/8</literal></member>
|
||
<member><literal>169.254.0.0/16</literal></member>
|
||
<member><literal>127.0.0.0/8</literal></member>
|
||
<member><literal>240.0.0.0/4</literal></member>
|
||
</simplelist>.
|
||
</para>
|
||
<para>
|
||
Зарезервированные IPv6-адреса соответствуют следующим диапазонам:
|
||
<simplelist type="inline">
|
||
<member><literal>::1/128</literal></member>
|
||
<member><literal>::/128</literal></member>
|
||
<member><literal>::FFFF:0:0/96</literal></member>
|
||
<member><literal>FE80::/10</literal></member>
|
||
</simplelist>.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-no-priv-range">
|
||
<term>
|
||
<constant>FILTER_FLAG_NO_PRIV_RANGE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Запрещает частные адреса.
|
||
</simpara>
|
||
<para>
|
||
К частным относятся IPv4-адреса в следующих диапазонах:
|
||
<simplelist type="inline">
|
||
<member><literal>10.0.0.0/8</literal></member>
|
||
<member><literal>172.16.0.0/12</literal></member>
|
||
<member><literal>192.168.0.0/16</literal></member>
|
||
</simplelist>.
|
||
</para>
|
||
<simpara>
|
||
К частным относятся IPv6-адреса, которые начинаются
|
||
на <literal>FD</literal> или <literal>FC</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-global-range">
|
||
<term>
|
||
<constant>FILTER_FLAG_GLOBAL_RANGE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Разрешает только глобальные адреса.
|
||
Для глобальных адресов стандарт
|
||
<link xlink:href="&url.rfc;6890">RFC 6890</link> устанавливает
|
||
в атрибуте <literal>Global</literal> значение <literal>True</literal>.
|
||
Флаг доступен с PHP 8.2.0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry xml:id="constant.filter-validate-mac">
|
||
<term>
|
||
<constant>FILTER_VALIDATE_MAC</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр проверяет, соответствует ли значение MAC-адресу.
|
||
</simpara>
|
||
|
||
<variablelist xml:id="filter.constants.validation.mac.options">
|
||
<title>Доступные опции</title>
|
||
<varlistentry>
|
||
<term><literal>default</literal></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение, которое вернёт фильтр, если входные данные не пройдут проверку.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<variablelist xml:id="filter.constants.sanitization">
|
||
<title>Фильтры очистки</title>
|
||
<varlistentry xml:id="constant.filter-unsafe-raw">
|
||
<term>
|
||
<constant>FILTER_UNSAFE_RAW</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр ничего не проверяет.
|
||
</simpara>
|
||
<simpara>
|
||
При этом фильтр удалит или закодирует спецсимволы, если работает
|
||
совместно с флагами очистки из семейства <constant>FILTER_FLAG_STRIP_<replaceable>*</replaceable></constant>
|
||
или <constant>FILTER_FLAG_ENCODE_<replaceable>*</replaceable></constant>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-default">
|
||
<term>
|
||
<constant>FILTER_DEFAULT</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
&Alias; фильтра <constant>FILTER_UNSAFE_RAW</constant>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-string">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_STRING</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр удаляет теги и кодирует двойные и одинарные кавычки в числовые HTML-сущности.
|
||
</simpara>
|
||
<simpara>
|
||
Фильтр дополнительно удалит или закодирует символы, если работает
|
||
совместно с флагами очистки из семейства <constant>FILTER_FLAG_STRIP_<replaceable>*</replaceable></constant>
|
||
или <constant>FILTER_FLAG_ENCODE_<replaceable>*</replaceable></constant>.
|
||
</simpara>
|
||
<simpara>
|
||
Флаг <constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>
|
||
отключает кодирование кавычек.
|
||
</simpara>
|
||
<warning>
|
||
<simpara>
|
||
Фильтр <emphasis>устарел</emphasis> с PHP 8.1.0,
|
||
вместо него спецсимволы преобразовывают функцией <function>htmlspecialchars</function>.
|
||
</simpara>
|
||
</warning>
|
||
<warning>
|
||
<simpara>
|
||
Фильтр и функция
|
||
<function>strip_tags</function> удаляют теги по-разному.
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-stripped">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_STRIPPED</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
&Alias; фильтра <constant>FILTER_SANITIZE_STRING</constant>.
|
||
</simpara>
|
||
<warning>
|
||
<simpara>
|
||
Фильтр <emphasis>устарел</emphasis> с PHP 8.1.0,
|
||
вместо него спецсимволы преобразовывают функцией <function>htmlspecialchars</function>.
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-encoded">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_ENCODED</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр кодирует строку для безопасного включения в состав URL-адреса.
|
||
</simpara>
|
||
<simpara>
|
||
Фильтр дополнительно удалит или закодирует символы, если работает
|
||
совместно с флагами очистки из семейства <constant>FILTER_FLAG_STRIP_<replaceable>*</replaceable></constant>
|
||
или <constant>FILTER_FLAG_ENCODE_<replaceable>*</replaceable></constant>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-special-chars">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_SPECIAL_CHARS</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<para>
|
||
Фильтр преобразовывает в числовые HTML-сущности символы
|
||
<simplelist type="inline">
|
||
<member><literal>'</literal></member>
|
||
<member><literal>"</literal></member>
|
||
<member><literal><</literal></member>
|
||
<member><literal>></literal></member>
|
||
<member><literal>&</literal></member>
|
||
</simplelist>
|
||
и символы с ASCII-кодами меньше 32.
|
||
Фильтр <constant>FILTER_SANITIZE_SPECIAL_CHARS</constant> игнорирует
|
||
флаг <constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>,
|
||
в отличие от фильтра <constant>FILTER_SANITIZE_FULL_SPECIAL_CHARS</constant>.
|
||
</para>
|
||
<simpara>
|
||
Фильтр дополнительно удалит символы, если работает
|
||
совместно с флагами очистки из семейства <constant>FILTER_FLAG_STRIP_<replaceable>*</replaceable></constant>,
|
||
и закодирует символы с ASCII-кодами
|
||
больше 127 при установке флага <constant>FILTER_FLAG_ENCODE_HIGH</constant>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-full-special-chars">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_FULL_SPECIAL_CHARS</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Поведение фильтра аналогично вызову функции <function>htmlspecialchars</function>
|
||
с флагом <constant>ENT_QUOTES</constant>.
|
||
</simpara>
|
||
<simpara>
|
||
Флаг <constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>
|
||
отключает кодирование кавычек.
|
||
</simpara>
|
||
<warning>
|
||
<simpara>
|
||
Аналогично функции <function>htmlspecialchars</function> фильтр учитывает
|
||
настройку INI-директивы <link linkend="ini.default-charset">default_charset</link>.
|
||
Входная строка отклоняется, и фильтр возвращает пустую строку,
|
||
если последовательность байтов невозможно декодировать в допустимый символ
|
||
в текущем наборе символов.
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-email">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_EMAIL</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр очищает строку путём удаления всех символов,
|
||
кроме латинских букв, которые соответствуют шаблону <literal>[a-zA-Z]</literal>,
|
||
цифр, которые совпадают с шаблоном <literal>[0-9]</literal>,
|
||
и спецсимволов
|
||
<literal>!#$%&'*+-=?^_`{|}~@.[]</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-url">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_URL</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр очищает строку путём удаления всех символов,
|
||
кроме латинских букв, которые соответствуют шаблону <literal>[a-zA-Z]</literal>,
|
||
цифр, которые совпадают с шаблоном <literal>[0-9]</literal>,
|
||
и спецсимволов
|
||
<literal>$-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-number-int">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_NUMBER_INT</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр очищает строку путём удаления всех символов,
|
||
кроме цифр, которые соответствуют шаблону <literal>[0-9]</literal>, знаков сложения и вычитания:
|
||
<literal>+</literal> и <literal>-</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-sanitize-number-float">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_NUMBER_FLOAT</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр очищает строку путём удаления всех символов,
|
||
кроме цифр, которые соответствуют шаблону <literal>[0-9]</literal>, знаков сложения и вычитания:
|
||
<literal>+</literal> и <literal>-</literal>.
|
||
</simpara>
|
||
|
||
<variablelist xml:id="filter.constants.sanitization.float.flags">
|
||
<title>Дополнительные флаги</title>
|
||
<varlistentry xml:id="constant.filter-flag-allow-fraction">
|
||
<term>
|
||
<constant>FILTER_FLAG_ALLOW_FRACTION</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Флаг разрешает фильтру пропускать символ <literal>.</literal>
|
||
как стандартный разделитель целой
|
||
и дробной частей.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-allow-thousand">
|
||
<term>
|
||
<constant>FILTER_FLAG_ALLOW_THOUSAND</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Флаг разрешает фильтру пропускать символ <literal>,</literal>
|
||
как стандартный разделитель тысяч.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.filter-flag-allow-scientific">
|
||
<term>
|
||
<constant>FILTER_FLAG_ALLOW_SCIENTIFIC</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Пропускает числа в научной нотации
|
||
с символами <literal>e</literal> и <literal>E</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
<warning>
|
||
<simpara>
|
||
Без флага <constant>FILTER_FLAG_ALLOW_FRACTION</constant>
|
||
фильтр удаляет десятичный разделитель, чем изменяет входное значение.
|
||
</simpara>
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
$number = '12.34';
|
||
|
||
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT));
|
||
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
string(4) "1234"
|
||
string(5) "12.34"
|
||
]]>
|
||
</screen>
|
||
</informalexample>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry xml:id="constant.filter-sanitize-add-slashes">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_ADD_SLASHES</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр применяет функцию <function>addslashes</function> ко входным данным.
|
||
Фильтр доступен с PHP 7.3.0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry xml:id="constant.filter-sanitize-magic-quotes">
|
||
<term>
|
||
<constant>FILTER_SANITIZE_MAGIC_QUOTES</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
&Alias; фильтра <constant>FILTER_SANITIZE_ADD_SLASHES</constant>.
|
||
</simpara>
|
||
<warning>
|
||
<simpara>
|
||
Фильтр <emphasis>УСТАРЕЛ</emphasis> с PHP 7.3.0,
|
||
а с PHP 8.0.0 фильтр <emphasis>УДАЛИЛИ</emphasis>.
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<variablelist>
|
||
<title>Пользовательский фильтр</title>
|
||
<varlistentry xml:id="constant.filter-callback">
|
||
<term>
|
||
<constant>FILTER_CALLBACK</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Фильтр делегирует фильтрацию пользовательской функции.
|
||
Выражение <type>callable</type> передаётся
|
||
через параметр <parameter>options</parameter> как значение, связанное
|
||
с ключом <literal>'options'</literal>.
|
||
</simpara>
|
||
<para>
|
||
Сигнатура callback-функции:
|
||
<methodsynopsis>
|
||
<type>mixed</type><methodname><replaceable>callback</replaceable></methodname>
|
||
<methodparam><type>string</type><parameter>value</parameter></methodparam>
|
||
</methodsynopsis>
|
||
<variablelist role="function_parameters">
|
||
<varlistentry>
|
||
<term><parameter>value</parameter></term>
|
||
<listitem>
|
||
<simpara>
|
||
Значение для фильтрации.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
<note>
|
||
<simpara>
|
||
Значение возврата callback-функции вернётся
|
||
как значение возврата из функции фильтрации.
|
||
</simpara>
|
||
</note>
|
||
<example>
|
||
<title>
|
||
Пример проверки имени пользователя фильтром <constant>FILTER_CALLBACK</constant>
|
||
</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
function validate_login(string $value): ?string
|
||
{
|
||
if (strlen($value) >= 5 && ctype_alnum($value)) {
|
||
return $value;
|
||
}
|
||
return null;
|
||
}
|
||
|
||
$login = "val1dL0gin";
|
||
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
|
||
var_dump($filtered_login);
|
||
|
||
$login = "f&ke login";
|
||
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
|
||
var_dump($filtered_login);
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
string(10) "val1dL0gin"
|
||
NULL
|
||
]]>
|
||
</screen>
|
||
</example>
|
||
<warning>
|
||
<simpara>
|
||
Фильтр нельзя комбинировать с флагами,
|
||
включая флаг <constant>FILTER_NULL_ON_FAILURE</constant>.
|
||
</simpara>
|
||
</warning>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</appendix>
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|