Какой regexp php используется для filter_var ($ url, FILTER_VALIDATE_URL)?

filter_var($url, FILTER_VALIDATE_URL) кажется, отличный способ определить, содержит ли $url url или нет. Есть ли способ увидеть, какое регулярное выражение использует эта функция для обнаружения?

спасибо

Он использует что-то еще, а затем регулярное выражение. В C он проверяет возврат функции php_url_parse_ex() (C), которую вы можете увидеть по адресу: ext / standard / url.c, строка 97 , вызывается по адресу ext / filter / logical_filters.c, строка 440 .

В этих терминах: если вы вызываете parse_url() (PHP) в PHP и выполняете те же проверки, что и в php_filter_validate_url() (C), вы должны иметь тот же результат.

Шаблон похож на синтаксический анализ URL.

 $pattern = "/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i"; 

Ответ Криса на регулярное выражение PHP для проверки URL-адреса использует parse_url, который, после прочтения ответа Wrikken о том, что на самом деле делает filter_var ($ url, FILTER_VALIDATE_URL), кажется лучшим, потому что он позволяет контролировать большинство.