2011-09-21 76 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