1

我有一个网站,允许用户复制和粘贴 youtube 提供的嵌入视频脚本并将其上传到数据库。我希望能够检查此脚本是否是有效的 youtube 脚本,而不仅仅是某人输入的随机文本。我相信这可以通过 preg match 来完成。有任何想法吗?

4

2 回答 2

3

你可以使用:

preg_match('/^<object (?<width_height>width="[[:digit:]]+" height="[[:digit:]]+")><param name="movie" value=(?<url>"http:\/\/www.youtube.com\/v\/[^&]+&hl=[[:alpha:]]{2}&fs=1")><\/param><param name="allowFullScreen" value="true"><\/param><param name="(?<asa>allowscriptaccess)" value="always"><\/param><embed src=(?P=url) type="application\/x-shockwave-flash" (?P=asa)="always" allowfullscreen="true" (?P=width_height)><\/embed><\/object>$/', $yt);

但最好让他们输入一个 URL(这更容易验证和解析),然后自己生成。

于 2009-05-02T00:27:21.630 回答
0

要匹配 URL:

$pattern = '/.*youtube.*(v=|\/v\/)([^&\/]*).*/i';
preg_match($pattern, $video, $matches)
$videoId = $matches[2];

然后,您可以使用$videoId包装成您想要的任何 YouTube URL 格式。

于 2009-12-23T03:49:42.387 回答