2012-04-08 26 views
1

希望有人能夠發現錯誤,我需要做的是首先獲取令牌的網頁,然後使用附加的令牌捲曲新網址;生成具有變量的URL

這裏是我的代碼

$text = $siteName; 

    if (preg_match('/;t=([a-zA-Z0-9_-]{43})%3D/',$text,$matches)) { 
// Match... vjVQa1PpcFMYuRsz10_H-1z41mWWe8d6ENEnBLE7gug 
    echo 'TOKEN: '.$matches[1]; 

$curltube = curl_init(); 
curl_setopt ($curltube, CURLOPT_URL, "http://www.veoh.com/watch?v=opQ9GzRe5qs".$matches[1]); 
curl_setopt ($curltube, CURLOPT_RETURNTRANSFER, 0); 
curl_setopt ($curltube, CURLOPT_COOKIEFILE, "cookie8.txt"); 
$curltubeplay = curl_exec ($curltube); 
curl_close ($curltube); 

echo $curltubeplay; 
} else { 
// No match 
} 

在此之前,以前的代碼獲取的網頁

curl_setopt ($ch, CURLOPT_URL, "http://www.veoh.com/watch?v=opQ9GzRe5qs"); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 0); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, "cookie8.txt"); 

所以希望有人能提供一些線索

+3

當你說發現錯誤,它會是如果你告訴的是有什麼問題... – BenOfTheNorth 2012-04-08 19:16:00

+0

是你的代碼找到令牌?什麼是令牌?你追加令牌後,你期待的URL是什麼?你最終得到的URL是什麼? – Cal 2012-04-08 19:28:06

+0

哦對不起,我的意思是我想要做的是有這個網址http://www.veoh.com/watch?v=opQ9GzRe5qs&t=「$匹配」,所以基本上提取&t =並將其插入到新的url – 2012-04-08 23:29:59

回答

1

(請擴大問題的清晰度)是,你期望建立一個像這樣的URL:

http://www.veoh.com/watch?v=opQ9GzRe5qs;t=abc 

但你正在建設一個這樣的:

http://www.veoh.com/watch?v=opQ9GzRe5qsabc 

有兩個簡單的修復。這其中需要整個匹配的字符串,而不僅僅是令牌:

curl_setopt ($curltube, CURLOPT_URL, "http://www.veoh.com/watch?v=opQ9GzRe5qs".$matches[0]) 

而在缺失部分這一增加回網址:

curl_setopt ($curltube, CURLOPT_URL, "http://www.veoh.com/watch?v=opQ9GzRe5qs;t=".$matches[1]) 
+0

得到它,我不得不添加另一個。在$之後,所以它看起來像這樣「http://www.veoh.com/watch?v=opQ9GzRe5qs;t=".$matches[1]。) – 2012-04-11 21:39:40