在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>谢谢你,程序员
发布于 2010-12-09 17:56:30
最佳实践是使用XML解析器,例如
DOM
如下所示,您可以获得一个值:
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
要真正插入新元素,请执行以下操作:div或循环元素,将子元素添加到新元素( xsl: for more complexity imageContainer),删除子元素,然后添加新元素
或者实际上是最简单的-只需执行字符串替换..
发布于 2010-12-17 19:56:07
最简单的方法是使用preg_replace();
搜索img标记,然后在它周围放置一个div
<?php preg_replace("/\[(img .*?)\]/","<div class='div2'><$1></div>", $content); ?>但是您说您正在创建一个wordpress模板。上面发布的代码是通过表单提交的,还是在主题文件中提交的?
https://stackoverflow.com/questions/4396861
复制相似问题