我有以下内容为'p'容器中的图像添加了一个容器div,其中包含一组aligncenter ...
$images = $xpath->query("//p/img[contains(concat(' ', @class, ' '), ' aligncenter ')]");
foreach($images as $img) {
$wrap = $dom->createElement("div");
$wrap->setAttribute("class","inner ".$img->getAttribute("class"));
$img->parentNode->replaceChild($wrap,$img);
$wrap->appendChild($img);
}
以下......
...变为
<div class="inner">
<img src="image.jpg">
</div>
我现在正在尝试添加另一个容器,以便它变成......
<div class="wrapper">
<div class="inner">
<img src="image.jpg">
</div>
</div>
我是否应该再次遍历图像,还是可以修改当前代码,以便同时添加另一个容器div?
答案 0 :(得分:1)
是的,绝对有可能在一个循环中完成所有操作。假设您当前的代码有效,这应该可以解决问题:
foreach($images as $img) {
$outerWrap = $dom->createElement('div');
$outerWrap->setAttribute('class', 'wrapper');
$wrap = $dom->createElement("div");
$wrap->setAttribute("class","inner ".$img->getAttribute("class"));
$img->parentNode->replaceChild($outerWrap,$img);
$outerWrap->appendChild($wrap);
$wrap->appendChild($img);
}