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

有帮助吗?

解决方案

您可以使用:

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(这更容易验证和解析),并自己生成。

其他提示

匹配网址:

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top