gpt4 book ai didi

php - 使用 preg_match 解析 youtube 视频 ID

转载 作者:IT老高 更新时间:2023-10-28 12:02:13 25 4
gpt4 key购买 nike

我正在尝试使用 preg_match 解析 youtube URL 的视频 ID。我在这个网站上发现了一个似乎有效的正则表达式;

(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+

如图所示:

alt text

我的PHP如下,但是不起作用(给出未知修饰符'['错误)...

<?
$subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";

preg_match("(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+", $subject, $matches);

print "<pre>";
print_r($matches);
print "</pre>";

?>

干杯

最佳答案

这个正则表达式从我能找到的所有各种 URL 中获取 ID...那里可能还有更多,但我在任何地方都找不到它们的引用。如果你遇到一个不匹配的,请在 URL 中留下评论,我会尝试更新正则表达式以匹配你的 URL。

if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $url, $match)) {
$video_id = $match[1];
}

以下是此正则表达式匹配的 URL 示例:(在给定 URL 之后可以有更多内容将被忽略)

它也适用于具有上述相同选项的 youtube-nocookie.com URL。

它还会在嵌入代码(iframe 和对象标签)中从 URL 中提取 ID

关于php - 使用 preg_match 解析 youtube 视频 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2936467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com