在这种情况下,它更适合匹配正则表达式或parse_url

时间:2013-11-27 17:04:58

标签: php regex parsing

假设我们有以下链接

$link = "http://www.mysite.com/bbbbbbb.flv?something";

我们想要匹配它。

提出这个问题how to match links that has extension @Thanks to all @ 我们有两种方式regular expressionparse_url

所以我的问题在你的观点和我的网站上更好(比如快速准确的..etc)?

方法1 regular expression

if (preg_match('/\.flv(\?|$)/i', $link)) {
    echo 'It has flv';
} else {
    echo 'It does not have';
}

方法2 parse_url

$arr = parse_url($link);

$pathParts = pathinfo($arr['path']);

if ($pathParts['extension'] == 'flv')
   echo "valid extension";
else
   echo "invalid extension";

@ Thanks

1 个答案:

答案 0 :(得分:2)

根据this publication,使用内置parse_urlpreg_match慢得多。这是可以理解的,因为正则表达式捕获单个结果,而parse_url捕获并解析URL的所有组件。