<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Что такое фильтры в PHP.

Что такое фильтры в PHP.

Всем привет. Сегодня я хочу рассказать, что такое фильтры в php и как их использовать.

Думаю, многие из вас, чтобы проверить, к примеру, email адрес, используют регулярные выражения. Но, думаю, не многим из вас нравится это делать, т.к. регулярные выражения очень сложные, да и можно ошибиться и не учесть чего-нибудь, а это может очень плохо сказаться на безопасности в будущем. Да, есть ситуации, где без них не обойтись, но, например, для проверки email адреса можно использовать фильтры. Итак, начнем.

У функции filter_var, которая и занимается фильтрацией, следующий синтаксис:

mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Сначала передается переменная, которую мы будем проверять, затем константа, которая указывает, что мы проверяем, и опции.

Т.к. в начале статьи я привел пример с email адресом, то давайте с него и начнем.

$email = "fdfddffdfd.com";
$result = filter_var($email, FILTER_VALIDATE_EMAIL);
echo $result;

Нашей функции мы передали переменную с email адресом и константу FILTER_VALIDATE_EMAIL, обозначающую, что мы будем проверять переменную на корректность email. В результате нам вернется пустая строка, что значит, что email некорректен. Если же все будет правильно, то вернется переданный email.

Существуют также и другие константы. Например, для проверки url.

$url = "mysite.ru"; $result = filter_var($url, FILTER_VALIDATE_URL); echo $result;

Здесь все то же самое, что и для email. Вот полный список всех констант:

  • FILTER_VALIDATE_BOOLEAN - возвращает true для значений '1', 'true', 'on', yes'. В других случаях - false
  • FILTER_VALIDATE_EMAIL - проверяет email адрес
  • FILTER_VALIDATE_FLOAT - проверяет число с плавающей точкой
  • FILTER_VALIDATE_INT - проверяет целое число
  • FILTER_VALIDATE_IP - проверяет IP адрес
  • FILTER_VALIDATE_REGEXP - проверяет на корректность регулярное выражение
  • FILTER_VALIDATE_URL - проверяет url адрес

У них также могут быть флаги. К примеру, у IP есть флаги: FILTER_FLAG_IPV4, FILTER_FLAG_IPV6 и некоторые другие. Они обозначают, что проверять нужно IP адрес версии 4 или 6 в нашем случае. Записываются флаги в ассоциативный массив, который передается третим параметром.

$ip = "127.0.0.1";
$opt = array(
  'flags' => 'FILTER_FLAG_IPV4'
);
$result = filter_var($ip, FILTER_VALIDATE_IP, $opt);
echo $result;

Вот мы и поговорили об фильтрах валидации, но есть еще и другие фильтры. Например, очищающие. Как понятно из названия, они что-то очищают. Вот пример:

$string = "Мой возраст 177 лет";
$result = filter_var($string, FILTER_SANITIZE_NUMBER_INT);
echo $result;

Фильтр FILTER_SANITIZE_NUMBER_INT очищает все, кроме цифр и знаков '+' и '-'.

Очищающие фильтры тоже чрезвычайно полезны. Рассматривать их все мы не будем, вы можете сделать это самостоятельно, перейдя по ссылке: http://php.net/manual/en/filter.filters.php Там вы найдете все, что есть, а как их использовать я уже показал в этой статье.

Итак, на этом все. Надеюсь, что данная функция будет вам полезна. До свидания!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (3):

kruty kruty 06.06.2014 14:24:08

Так, штука корисна.. але, як на мене email треба просто перевіряти чи є там "@" i "." І випустіть уроки по shpinx

Ответить

tikkiwiki tikkiwiki 09.06.2014 16:01:54

Используйте регулярные выражения для проверки того или иного наличия символа.

Ответить

Yan9 Yan9 26.08.2015 16:13:35

Либо, как по мне, еще удобнее сделать так: $str = гипотетический e-mail; $abc = substr_count($str,"@"); if($abc==1){код} else {echo "Введите корректный e-mail";}

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.