我需要一些帮助来更正 php 中的代码 - 如何从 YouTube URL 获取视频 ID

I need some help in correcting my codes in php - How to get the video id from a YouTube URL

我想从 URL 获取 YouTube 视频 ID,但 YouTube 有很多不同的 URL 模式。我从其中一种模式 (https://www.youtube.com/watch?v=4Wm6-8X3Vq4) but unable to get from this type of URL (https://youtu.be/HCjNJDNzw8Y) 中获取缩略图,这是我的代码。我希望此代码适用于两个 URL。请帮忙!

if (isset($_POST["Submit"])) {
    $url = $_POST["url"];
    $value = explode('v=', $url);
    $videoId = $value[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>