我正在尝试做一些非常奇怪的事情,而且我有一些运气,但我遇到了一些障碍。我已基本完成了它的第一部分,现在我只需要全面翻译它。这与WordPress有关,但它是一个与WP特定相关的一般概念问题,所以我决定在这里提问。
基本上,我要做的是解析一个变量,并用其他东西替换一些代码,如果它存在(对于WP用户,我试图通过the_content()解析,替换一个基于某些条件的位。)
我正在解析名为$content
的变量。 $content
内的某个位置将是标准的YouTube维护代码<iframe src="http://www.youtube.com/embed/xxxxxxxxx" frameborder="0" width="560" height="315"></iframe>
等。我的目标是获取xxxxxx值,然后用<iframe>
替换整个<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
,因此我可以将<iframe>
更改为<img src='http://img.youtube.com/vi/xxxxxxxxx/0.jpg />
。这可能吗?
如果有人能指出我正确的方向,我会很高兴。
谢谢!
滓
答案 0 :(得分: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;