2012-04-17 86 views
0

我試圖做一些非常奇怪的事情,我有一些運氣,但我跑到一些障礙。我已經基本完成了它的第一部分,現在我只需要全面翻譯它。這與WordPress有關,但這是一個普遍的概念問題,與WP相關,所以我決定在這裏提問。我試圖做的是解析一個變量,並用其他東西替換一些代碼,如果它存在的話(對於WP用戶,我試圖通過the_content()解析,替換一些基於一些條件)。Pregreplace youtube嵌入圖像

我解析一個名爲$content的變量。 $content內的某個地方將是一個標準的YouTube emebed代碼<iframe src="http://www.youtube.com/embed/xxxxxxxxx" frameborder="0" width="560" height="315"></iframe>等。我打算做的是抓取xxxxxx值,然後用<img>錨替換整個。

我有正則表達式來抓取YouTube視頻ID,並可以回顯圖像沒有問題。我用過:

if (preg_match('(/embed/([a-z0-9A-Z]+))', $content, $output) > 0) { 
     echo("<img src='http://img.youtube.com/vi/".$output[1]."/0.jpg' alt=' ' />"); 
    } 

返回在$content中找到的YouTube視頻的縮略圖。我無法將此正則表達式轉換爲preg_replace,因此我可以改爲將更改爲<img src='http://img.youtube.com/vi/xxxxxxxxx/0.jpg />。這可能嗎?

我會愛如果有人能指出我在正確的方向。

謝謝!

Tre

回答

0

我討厭這麼快就這麼做。但是,我似乎已經解決了我的問題。

來這裏打字並清理我的思想似乎有助於在這裏和那裏。

我能夠使用此代碼來完成它(我敢肯定是醜陋):

 $the_id = preg_match('(/embed/([a-z0-9A-Z]+))', $content, $output); 
     $replacement = "<img src='http://img.youtube.com/vi/".$output[1]."/0.jpg' alt=' ' />"; 

     $content = preg_replace("/<iframe.*?<\/iframe>/si", $replacement, $content); 
     echo $content;