代码之家  ›  专栏  ›  技术社区  ›  Kirzilla

哪个regexp php用于过滤器变量($url,filter_validate_url)?

  •  3
  • Kirzilla  · 技术社区  · 14 年前

    filter_var($url, FILTER_VALIDATE_URL) 似乎是检测 $url 是否包含URL。是否有任何方法可以查看此函数用于检测的正则表达式?

    谢谢你

    3 回复  |  直到 14 年前
        1
  •  6
  •   Artefacto    14 年前

    它使用其他东西,然后是regex。在C中,它检查 php_url_parse_ex() (c)功能,见: ext/standard/url.c, line 97 ,叫 ext/filter/logical_filters.c, line 440 .

    在这些条件下:如果你打电话 parse_url() (php)在php中,执行与中相同的检查 php_filter_validate_url() (C),你会有同样的输出。

        2
  •  0
  •   Nick Presta    14 年前

    该模式类似于URL解析。

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

    克里斯的回答 PHP regex for validating a URL 使用parse_url,在阅读wrikken关于filter_var($url,filter_validate_url)实际做了什么的答案之后,它看起来是最好的,因为它允许最多的控制。