我有一个这样的 PHP 数组(来自 MySQL 数据库,YouTube 只是一个例子):
[regexpr] => array(4) (
[0] => (string) http://*.youtube.com/v/*
[1] => (string) https://*.youtube.com/v/*
[2] => (string) http://youtu.be/*
[3] => (string) http://m.youtube.com/watch*
)
现在,我想要实现的是在 URL 中找到任何匹配项(在这种情况下:检查 URL 是否是有效的 YouTube URL)。
我尝试过的是以下内容:
for($i = 0; $i < count($regexpr); $i++)
$regexpr[$i] = preg_quote($regexpr[$i]); // because of the URLs
$expr = '/(('. implode('|', $regexpr) . '))/i'; // Concatenating the ORs
$found = preg_match($expr, 'http://www.youtube.com/[foo]&v=MyVidID', $matches);
然而,不幸的是,我无法成功地连接这些表达式——我没有得到任何成功的“命中”。
有人能指点一下如何解决这个问题吗?
¡ 谢天谢地!