【发布时间】:2012-11-08 16:31:54
【问题描述】:
我正在尝试验证我的应用程序的 YouTube 网址。
到目前为止,我有以下内容:
// 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";
}
我希望验证以下 Youtube 网址的变体:
- 有和没有 http://
- 有和没有 www。
- 使用网址 youtube.com 和 youtu.be
- 必须有 /watch?v=
- 必须具有唯一的视频字符串(在上面的示例中为“vpfzjcCzdtCk”)
但是,我不认为我的逻辑是正确的,因为由于某种原因它返回 true 为:www.youtube.co/watch?v=vpfzjcCzdtCk(请注意,我用 .co 和不是.com)
【问题讨论】: