我需要一些帮助来纠正我在 php 中的代码 - 如何从 YouTube URL 获取视频 ID [重复]

Posted

技术标签:

【中文标题】我需要一些帮助来纠正我在 php 中的代码 - 如何从 YouTube URL 获取视频 ID [重复]【英文标题】:I need some help in correcting my codes in php - How to get the video id from a YouTube URL [duplicate] 【发布时间】:2020-10-06 22:30:32 【问题描述】:

我想从 URL 获取 youtube 视频 ID,但 YouTube 有许多不同的 URL 模式。我从其中一种模式(https://www.youtube.com/watch?v=4Wm6-8X3Vq4)中获取缩略图,但无法从这种类型的 URL(https://youtu.be/HCjNJDNzw8Y)获取缩略图,这是我的代码。我希望这段代码对这两个 URL 都有效。请帮忙!

if (isset($_POST["Submit"])) 
    $url = $_POST["url"];
    $value = explode('v=', $url);
    $videoId = $value[1];

 ?>

【问题讨论】:

有多少种 youtube 视频 URL 插入数据库? 为什么不用google apis php客户端库? 【参考方案1】:

我们知道视频 ID 是 11 字符长度,并且可以在前面加上 v=vi=v/vi/youtu.be/ 所以最简单的方法是:-

PHP 代码:-

<?php
if(isset($_POST["Submit"]))
    $url = $_POST["url"];
    preg_match_all("#(?<=v=|v\/|vi=|vi\/|youtu.be\/)[a-zA-Z0-9_-]11#", $url, $matches);
echo $matches[0][0];

 

?>

HTML 表格:-

<form method="post">

<input type="text" name="url"><br>

<input type="submit" name="Submit">

</form>

【讨论】:

非常感谢。它现在正在工作。 请标记为已接受的答案,以便其他人可以使用此代码。

以上是关于我需要一些帮助来纠正我在 php 中的代码 - 如何从 YouTube URL 获取视频 ID [重复]的主要内容,如果未能解决你的问题,请参考以下文章

需要一些帮助来构建 asp.net 核心 webapi 中的 [HttpPost] 部分

需要帮助修改 PHP 创建用户代码到编辑用户代码

我在android中的当前位置

纠正我在 mysql 触发器中的语法错误

在 php 中从 sqlite3 数据库中获取数据

Laravel 8 实现 PHP 的 DOM XML 函数输出 XML