我正在尝试使用PHP将YouTube网址剪裁为视频ID。它正在工作,但它也为结果添加了很多空白。有谁知道我怎么能解决这个问题?这是设置:
位于Wordpress single.php(从post meta找到附加的YouTube网址):
<?php
$vidurl = get_post_meta($post->ID, "_videoembed", true );
$youtube_id = getYouTubeIdFromURL($vidurl);
echo $youtube_id;
?>
以下是执行该功能的内容:
//Get YT Video ID
function getYouTubeIdFromURL($url)
{
$url_string = parse_url($url, PHP_URL_QUERY);
parse_str($url_string, $args);
return isset($args['v']) ? $args['v'] : false;
}
就像我说的,该功能工作正常,但它会产生一堆空白区域。假设元组中包含的视频为youtube.com/watch?v=1337&feature=player_embedded
,它将返回
" 1337 "
我提前感谢所有人的帮助!我以前有一些非常好的人在这个网站上帮助我。
答案 0 :(得分:0)
你确定你的get_post_meta
函数没有返回一堆空格吗?你可以在var_dump
上做$vidurl
吗?当我运行你给出的函数时,输出看起来很好(http://www.ideone.com/LRoTd):
<?php
function getYouTubeIdFromURL($url)
{
$url_string = parse_url($url, PHP_URL_QUERY);
parse_str($url_string, $args);
return isset($args['v']) ? $args['v'] : false;
}
$theurl = "youtube.com/watch?v=1337&feature=player_embedded";
$youtubeid = getYouTubeIdFromURL($theurl);
echo "'$youtubeid'";
?>
输出:
'1337'