PHP 5 Фильтры

Курс по основам языка программирования PHP.
W3Schools на русском языке. Уроки для начинающих



Проверка данных = определяет, находятся ли данные в правильной форме.

Очистка данных = удаление любых недопустимых символов из данных.


PHP Расширение фильтра

PHP фильтры используются для проверки и очистки внешнего ввода.

Расширение PHP фильтра имеет множество функций, необходимых для проверки пользовательского ввода, и предназначено для упрощения и ускорения проверки данных.

Функция filter_list() может быть использована для просмотра списка расширений PHP фильтра:

Пример

<table>
  <tr>
    <td>Filter Name</td>
    <td>Filter ID</td>
  </tr>
  <?php
  foreach (filter_list() as $id =>$filter) {
      echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
  }
  ?>

</table>
Выполнить пример »

Зачем использовать фильтры?

Многие веб-приложения получают внешние входные данные. Внешние входные данные могут быть:

Вы всегда должны проверять внешние данные! Неверные отправленные данные могут привести к проблемам с безопасностью и сломать вашу веб-страницу!
Используя PHP фильтры, вы можете быть уверены, что ваше приложение получит правильный ввод!


PHP функция filter_var()

Функция filter_var() - проверка и очистка данных.

Функция filter_var() - фильтрует одну переменную с указанным фильтром. Требуется две части данных:


Очистить строку

В следующем примере функция filter_var() используется для удаления всех HTML тегов из строки:

Пример

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
Выполнить пример »

Проверить целое число

В следующем примере функция filter_var() используется для проверки, является ли переменная $int целым числом. Если $int является целым числом, вывод приведенного ниже кода будет выглядеть так: "Integer is valid" ("Целое число валидно"). Если $int не является целым числом, выводом будет: "Integer is not valid" ("Целое число не валидно"):

Пример

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
    echo("Integer is valid");
} else {
    echo("Integer is not valid");
}
?>
Выполнить пример »

Примечание: filter_var() и проблема с 0

В приведенном выше примере, если $int был установлен в 0, вышеприведенная функция вернет «Integer is not valid» ("Целое число не валидно"). Чтобы решить эту проблему, используйте код ниже:

Пример

<?php
$int = 0;

if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
    echo("Integer is valid");
} else {
    echo("Integer is not valid");
}
?>
Выполнить пример »

Проверьте IP-адрес

В следующем примере функция filter_var() используется для проверки, является ли переменная $ip действительным IP-адресом:

Пример

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
    echo("$ip is a valid IP address");
} else {
    echo("$ip is not a valid IP address");
}
?>
Выполнить пример »

Очистка и проверка email адреса

В следующем примере используется функция filter_var(), чтобы сначала удалить все недопустимые символы из переменной $email, а затем проверить, является ли это действительный адрес электронной почты:

Пример

<?php
$email = "john.doe@example.com";

// Удалить все запрещенные символы из электронной почты
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Проверить e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
    echo("$email действительный email адрес");
} else {
    echo("$email не действительный email адрес");
}
?>
Выполнить пример »

Очистка и проверка URL

В следующем примере функция filter_var() сначала удаляет все недопустимые символы из URL, а затем проверяет, является ли $url действительным URL:

Пример

<?php
$url = "https://www.w3schools.com";

// Удаляет все недопустимые символы из url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Проверка url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
    echo("$url является валидным URL");
} else {
    echo("$url не является валидным URL");
}
?>
Выполнить пример »

PHP Фильтры. Полный справочник

Полный справочник всех функций фильтра приведен в PHP Фильтры. Справочник. Проверьте каждый фильтр, чтобы узнать, какие параметры и метки доступны.

Справочник содержит краткое описание и примеры использования для каждой функции!


W3Schools на русском уроки для начинающих для новичков основы языка курсы с нуля язык php фильтры в PHP что такое фильтр в PHP полный справочник PHP фильтров примеры PHP


warning

Не выкладывайте свой код непосредственно в комментариях, он отображается некорректно. Воспользуйтесь такими сервисами, как jsfiddle.net, codepen.io, liveweave.com, jsbin.com, сохраните код на любом из этих сервисов и в комментариях дайте на него ссылку. Так будет виден и код, и результат.