我正在编写一个函数来解析一些视频站点 url 以生成嵌入 html:
if (strstr($url, 'a.com')) {
$from = 'a';
} elseif (strstr($url, 'b.com')) {
$from = 'b';
} else {
return 'Wrong Video Url!';
}
if ($from == 'a') {
// use preg_match() to retrieve video id to generate embedding html
if (preg_match('#^http://a\.com/id_(\w*?)\.html$#', $url, $matches)) {
// return video embedding html
}
return 'Wrong a.com Video Url!';
}
if ($from == 'b') {
if (preg_match('#^http://b\.com/v_(\w*?)\.html$#', $url, $matches)) {
//return video embedding html
}
return 'Wrong b.com Video Url!';
}
我使用的目的strstr()
是减少preg_match()
在某些情况下的调用,例如,如果我有这样的b.com
url:,http://www.b.com/v_OTQ2MDE4MDg.html
我不必调用preg_match()
两次。
但是我仍然不确定这种做法是否很好,或者是否有更好的方法。