0
ビデオがリンクされているときに埋め込みプレーヤーを作成できるように、ビデオ共有サイトへのリンクのテキストをスキャンしようとしています。ビデオ共有サイトへのリンクを一致
function extract(&$text) {
// Scans text for links to YouTube, Vimeo, DailyMotion.
// *keep ~discard
// youtube.com/watch?v=[*alphanumeric]&[~whatever]
// youtube-nocookie.com/watch?v=[*alphanumeric]&[~whatever]
// vimeo.com/[*numeric]
// dailymotion.com/video/[*alphanumeric]_[~whatever]
$sites = 'youtube\.com|youtube-nocookie\.com|vimeo\.com|dailymotion\.com';
$regex = '/^(http|https):\/\/(www\.|)(' . $sites . ')\/.*/';
preg_match_all($regex, $text, $videos);
return $videos;
}
これが妙に取り組んでいる:
これは私がこれまで持っているものです。これは、次のテキストには結果を発見した:
And what about YouTube videos?
http://www.youtube.com/timminchin#p/a/u/2/zkGEbRrNNtE
http://www.youtube.com/timminchin#p/a/f/1/zU4iyjoVWQ
http://www.youtube.com/watch?v=XzU4iyjoVWQ
http://www.youtube-nocookie.com
それはこのテキスト上の1つの結果が見つかりました:
http://youtube.com/watch?v=XzU4iyjoVWQ
https://www.youtube.com/watch?v=XzU4iyjoVWQ
そして、ちょうどシングルリンクと他には何が含まれているテキストに正常に動作します。
私は正規表現を使うべきではありません。http://www.strfriend.comを使って、これを構成するのに役立ちます。
私がしたいのは、URLの配列です。
テスト済みです。完璧に動作します。今埋め込まれたビデオは、フォーラムの投稿の最後に追加されます。美しい。 – TRiG