我需要一些帮助来更正 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>
我想从 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>