2017-05-14 15 views
0

我有增加了一个容器div来的图像与类aligncenter的“P”容器内的以下...DOM文档的Xpath添加多个div容器

$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?

回答

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); 
} 
+0

谢谢你,保存了几个周期:) – fightstarr20