2010-06-11 42 views
2

我試圖修剪一些從播放列表中讀取的youtube網址。前3個工作正常,所有的URL都以大寫字母或數字結尾,但以小寫字母g結尾的一個字符要比其他字符縮短一個字符。Php從我的rtrim函數中剝離出一個字母「g」,但不是其他字符

for ($z=0; $z <= 3; $z++) 
    { 
    $ythref2 = rtrim($tubeArray["feed"]["entry"][$z]["link"][0]["href"], '&feature=youtube_gdata'); 

網址爲http://www.youtube.com/watch?v=CuE88oVCVjg&feature=youtube_gdata ..它應該得到下調至.. http://www.youtube.com/watch?v=CuE88oVCVjg而是它出來爲http://www.youtube.com/watch?v=CuE88oVCVj

我認爲這可能是符號符號,但我不確定。

回答

1

不,這是第二個參數的grtrim()不會從最後刪除一個字符串,它將刪除第二個參數中給出的任何字符。改爲使用preg_replace()substr()

+0

完美,使用substr。謝謝! – codeisforeva 2010-06-11 02:49:30

3

rtrim的第二個參數是要刪除的字符列表,而不是要刪除的字符串。

您可能想要使用str_replace或使用parse_urlparse_str來獲取URL組件和查詢字符串組件的數組,如「v」。

未經測試示例代碼:

$youtube_url = 'http://www.youtube.com/watch?v=CuE88oVCVjg&feature=youtube_gdata'; 
$url_bits = parse_url($youtube_url); 
$query_string = array(); 
parse_str($url_bits['query'], $query_string); 
$video_identifier = $query_string['v']; // "CuE88oVCVjg" 
$rebuilt_url = 'http://www.youtube.com/watch?v=' . $video_identifier; 
相關問題