【发布时间】:2013-12-13 11:03:24
【问题描述】:
假设我们有以下链接
$link = "http://www.mysite.com/bbbbbbb.flv?something";
我们想要匹配它。
关于这个问题how to match links that has extension@Thanks to all@
我们有两种方式regular expression和parse_url
那么我的问题在您的观点和我的网站上哪个更好(例如更快更准确..等)?
方法一 regular expression
if (preg_match('/\.flv(\?|$)/i', $link)) {
echo 'It has flv';
} else {
echo 'It does not have';
}
方法二 parse_url
$arr = parse_url($link);
$pathParts = pathinfo($arr['path']);
if ($pathParts['extension'] == 'flv')
echo "valid extension";
else
echo "invalid extension";
@谢谢
【问题讨论】:
-
你在征求意见。这不是这个网站的目的。我会去
substr($link, -4, 4) == '.flv' -
你不相信文件扩展名,而是检查文件的标题。
-
@Babblo 感谢您的警告,但这将是与上传/下载/流媒体活动无关的外部链接,只是文本文件中显示的链接,但我需要知道它的扩展名以提供一些信息。
-
parse_url仅在输入字符串是有效 URL 时才有效,而正则表达式甚至可以接受.FLV。答案取决于您的要求。