假设我们有以下链接
$link = "http://www.mysite.com/bbbbbbb.flv?something";
我们想要匹配它。
提出这个问题how to match links that has extension @Thanks to all @
我们有两种方式regular expression
和parse_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
答案 0 :(得分:2)
根据this publication,使用内置parse_url
比preg_match
慢得多。这是可以理解的,因为正则表达式捕获单个结果,而parse_url
捕获并解析URL的所有组件。