在这种情况下,匹配正则表达式和parse_url哪个更好


In this case which is better in matching regular expression or parse_url

假设我们有以下链接

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

我们想匹配它。

关于这个问题,如何匹配具有扩展名的链接@感谢所有@我们有两种方法regular expressionparse_url

那么,我的问题是,从你的角度来看,哪一个对我的网站更好(比如更快、更准确等)?

方法1regular expression

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

方法2parse_url

$arr = parse_url($link);
$pathParts = pathinfo($arr['path']);
if ($pathParts['extension'] == 'flv')
   echo "valid extension";
else
   echo "invalid extension";

@感谢

根据本出版物,使用内置的parse_urlpreg_match慢得多。这种情况是可以理解的,因为正则表达式捕获单个结果,而parse_url捕获并解析url的所有组件。