假设我们有以下链接
$link = "http://www.mysite.com/bbbbbbb.flv?something";
我们想匹配它。
关于这个问题,如何匹配具有扩展名的链接@感谢所有@我们有两种方法regular expression
和parse_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_url
比preg_match
慢得多。这种情况是可以理解的,因为正则表达式捕获单个结果,而parse_url
捕获并解析url的所有组件。