2011-09-21 77 views
1

我想使用PHP修剪YouTube网址到视频ID。它正在工作,但它也为结果增加了很多空白。有谁知道我会如何解决这个问题?这里的设置:帮助w/PHP功能(空白)

位于WordPress的single.php中(认定从后元附加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 " 

我感谢所有帮助提前!我以前有一些非常好的人帮助我在这个网站上。

+1

您的代码只返回一个号码http://ideone.com/ZIqRI – zerkms

+0

我知道,它应该返回视频ID(11个字符的字符串)。对于演示我只使用'1337'。 – Matt

+0

但它只返回一个数字,没有空格。所以它预计效果 – zerkms

回答

0

你确定你的get_post_meta函数没有返回一堆空格吗?你可以在$vidurl上做var_dump吗?当我运行你给的功能,输出看起来只有精细(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' 
+0

如果它检出很好,这绝对有可能是导致问题的Wordpress功能。我不想混淆核心文件,因为我害怕我会搞砸一些东西,每次更新后都会取消进度。你知道我可以修剪空白的任何方式吗?我尝试了一个定期修剪($ youtubeid),但它似乎并没有工作(*注*我可能做得不对) – Matt

+0

'修剪($ youtubeid)'工作适合我使用你粘贴在你的问题的示例。也许这些不是真正的空间角色,你回来......? – mellamokb