Quale regexp php sta usando per filter_var ($ url, FILTER_VALIDATE_URL)?

filter_var($url, FILTER_VALIDATE_URL) sembra essere un ottimo modo per rilevare se $url contiene o less URL. C'è un modo per vedere quale espressione regolare questa function utilizza per rilevare?

Grazie

Usa qualcos'altro quindi una regex. In C, controlla il return della function php_url_parse_ex() (C), che puoi vedere a: ext / standard / url.c, row 97 , chiamata a ext / filter / logical_filters.c, row 440 .

In questi termini: se chiami parse_url() (PHP) in PHP ed esegui gli stessi controlli di php_filter_validate_url() (C), avresti lo stesso risultato.

Il model è simile all'analisi dell'URL.

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

La risposta di Kris alla regex di PHP per la validation di un URL utilizza parse_url che, dopo aver letto la risposta di Wrikken su cosa filter_var ($ url, FILTER_VALIDATE_URL) effettivamente fa, sembra migliore perché consente il massimo controllo.