в качестве альтернативы.
аюсь создать функцию, которая вызывает значение из настраиваемого поля 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?
EDIT: РЕШИТЬ
После некоторых экспериментов я нашел решение. Я хотел вернуться и опубликовать его, чтобы другим, кому это нужно, тоже было с чего начать.
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;
}
}