1
我需要一個正則表達式來清除兩個html標籤之間的所有內容。但標籤可以嵌套。PHP正則表達式來清除兩個html標籤(嵌套)
我寫這
$theHTML = '
<div class="holder">
dynamic text 1
<div class="section"> section text </div>
</div>
';
$first='<div class="holder">';
$second='<div class="section">';
$replace = "";
$find = preg_replace('#('.preg_quote($first).')(.*)('.preg_quote($second).')#si', '$1'.$replace.'$3', $theHTML);
輸出;
<div class="holder"><div class="section"> section text </div>
</div>
一切正常,當我們只有一個匹配。但是這個代碼可以像這個一樣被調用;
$theHTML = '
<div class="holder">
dynamic text 1
<div class="section">
section text
<div class="holder">
dynamic text 1
<div class="section"> section text </div>
</div>
</div>
</div>
';
輸出將是;
<div class="holder"><div class="section"> section text </div>
</div>
</div>
</div>
正如您所看到的那樣,它將刪除第一場比賽中的所有內容。我想要得到什麼;
<div class="holder"><div class="section">
section text
<div class="holder"><div class="section"> section text </div>
</div>
</div>
</div>
所以,問題是;我怎麼能做到這一點?
非常感謝。
這個伎倆!太感謝了。 – user2360754