2012-04-17 87 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;