私は次のような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);
ただし、残念ながら、これらの式を正常に連結できませんでした。成功した「ヒット」はありません。
この問題を解決する方法についての指針はありますか?
グラシアス!