如何用正则把下面这段全删除<div class="abc">
<div class="12"></div>
<div class="12"></div>
<div class="12"></div>
<div class="12"></div>
</div >这个是我写的,为什么只能删除部分$xhtml = preg_replace('/<div class="abc">([\s\S]*?)<\/div>/', '', $xhtml);注意:里面包含的DIV 数量未知的情况下
<div class="12"></div>
<div class="12"></div>
<div class="12"></div>
<div class="12"></div>
</div >这个是我写的,为什么只能删除部分$xhtml = preg_replace('/<div class="abc">([\s\S]*?)<\/div>/', '', $xhtml);注意:里面包含的DIV 数量未知的情况下
你把div属性写固定成abc了,写成这种泛型的试试呢
<div class=\"out\">
<div class=\"abc\">
outside words1
<div class=\"12\">1</div>
<div class=\"13\">2</div>
<div class=\"14\">3</div>
outside words2
<div class=\"15\">4</div>
</div>
</div>";
$xhtml = preg_replace('/<div class=\"abc\">([^<]*?<div[^>]+>.*?<\/div>)+[^<]*?<\/div>/', '', $xhtml);
echo $xhtml;删完对应的class=abc的div之后剩下<div class="out">
</div>好像这个是可以用平衡组来实现。