アプリケーションのYouTubeURLを検証しようとしています。
これまでのところ、私は次のものを持っています:
// Set the youtube URL
$youtube_url = "www.youtube.com/watch?v=vpfzjcCzdtCk";
if (preg_match("/((http\:\/\/){0,}(www\.){0,}(youtube\.com){1} || (youtu\.be){1}(\/watch\?v\=[^\s]){1})/", $youtube_url) == 1)
{
echo "Valid";
else
{
echo "Invalid";
}
YoutubeURLの次のバリエーションを検証したいと思います。
- http://の有無にかかわらず
- wwwの有無にかかわらず。
- URLyoutube.comとyoutu.beを使用
- / watch?v=が必要です
- 一意のビデオ文字列が必要です(上記の例では「vpfzjcCzdtCk」)
ただし、論理が正しいとは思いません。何らかの理由で、次の場合にtrueが返されるためです。www.youtube.co/watch?v=vpfzjcCzdtCk
.co
.com