Я пытаюсь создать функцию, которая вызывает значение из пользовательского поля Wordpress («_videourl» для URL-адреса видео YouTube), а затем использует обрезку PHP, чтобы сократить его до идентификатора видео YouTube.Я нашел функцию javascript, которая сокращает URL-адреса только до идентификатора, но я понятия не имею, как я смогу перевести это в php (функция ниже):
function youtubeIDextract(url)
{
var youtube_id;
youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
return youtube_id;
}
Эта функция PHP будет использоваться внутрицикл, так что я думаю Я должен был бы использовать переменные, но я на самом деле просто нуб, поэтому я понятия не имею, что делать.Может ли кто-нибудь помочь, поделившись своими знаниями в области программирования, помогая мне создать функцию PHP?
РЕДАКТИРОВАТЬ: РЕШЕНО
После некоторых экспериментов я нашел решение.Я хотел вернуться и опубликовать его, чтобы у других, кто также в этом нуждался, было с чего начать.
function getYoutubeId($ytURL)
{
$urlData = parse_url($ytURL);
//echo '<br>'.$urlData["host"].'<br>';
if($urlData["host"] == 'www.youtube.com') // Check for valid youtube url
{
$ytvIDlen = 11; // This is the length of YouTube's video IDs
// The ID string starts after "v=", which is usually right after
// "youtube.com/watch?" in the URL
$idStarts = strpos($ytURL, "?v=");
// In case the "v=" is NOT right after the "?" (not likely, but I like to keep my
// bases covered), it will be after an "&":
if($idStarts === FALSE)
$idStarts = strpos($ytURL, "&v=");
// If still FALSE, URL doesn't have a vid ID
if($idStarts === FALSE)
die("YouTube video ID not found. Please double-check your URL.");
// Offset the start location to match the beginning of the ID string
$idStarts +=3;
// Get the ID string and return it
$ytvID = substr($ytURL, $idStarts, $ytvIDlen);
return $ytvID;
}
else
{
//echo 'This is not a valid youtube video url. Please, give a valid url...';
return 0;
}
}