在PHP中我想搜索div并且div内部的图像需要添加包装div,比如
<div id="div1"><img src="test1.jpg" /></div><div id="div2"><img src="test1.jpg" /><img src="test2.jpg" /></div>
无论进入<div id="div2">
内的任何图像,我都需要重新格式化,例如
<div id="div2"><div id="imageContainer"><img src="test1.jpg" /></div><div id="imageContainer"><img src="test2.jpg" /></div></div>
谢谢, 编码器
答案 0 :(得分:0)
最佳做法是使用XML解析器,例如
像这样你可以获得一个值:function getXpathValues(&$dom, $expr) {
$xpth = $dom->xpath_new_context();
$xnode = xpath_eval($xpth,$expr);
if (isset ($xnode->nodeset[0])) {
$firstnode = $xnode->nodeset[0];
$children = $firstnode->children();
$value = $children[0]->content;
return $value;
}
else return Null;
}
用法:
$dom = domxml_open_file('pear.rss');
echo $this->getXpathValues($dom, "//channel/title");
在这里采取的形式: php manual
要真正插入新元素,请执行以下操作: xsl: for more complexity 或循环元素,将子项添加到新的元素(div imageContainer), 删除子项,并添加新元素
或者真的最简单 - 只需要替换字符串..
答案 1 :(得分:0)
最简单的方法是使用preg_replace();
你搜索img标签,然后在它周围放置一个div
<?php preg_replace("/\[(img .*?)\]/","<div class='div2'><$1></div>", $content); ?>
但是你说你正在创建一个wordpress模板..是上面发布的代码,是通过表单还是主题文件提交的?