Какие регулярные выражения по умолчанию используются filter_var?

Используются ли регулярные выражения в функции PHP? filter_var упоминается где-то?

0

Решение

Исходный код может быть немного сложным, даже если вы знаете, что ищете. Я связал файлы, которые определяют, как filter_var работает ниже.

Около вершины https://github.com/php/php-src/blob/master/ext/filter/filter.c Вы должны быть в состоянии увидеть filter_list массив, который соответствует константам фильтра PHP с соответствующими им функциями фильтрации. filter_var определяется в этом файле, но мы можем пока игнорировать это.

Сами фильтры все определены в https://github.com/php/php-src/blob/master/ext/filter/logical_filters.c.

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

Мои объяснения выше были упрощены, чтобы ответить на вопрос. Я предлагаю вам использовать filter_var с соответствующими флагами, где это возможно, вместо того, чтобы пытаться перепроектировать или заново изобрести колесо, поскольку здесь задействована дополнительная логика, и это делает ваш код намного проще.

0

Другие решения

да они в основном 4 типа:

Validate filters
Sanitize filters
Other filters
Filter flags

Дополнительная информация :

http://php.net/manual/en/filter.filters.php

-1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector