PHP正则表达式找到匹配的div标签

时间:2018-01-17 13:24:29

标签: php regex

示例:https://regex101.com/r/nHiyU3/1

CODE:

<div id="content">
    <div>
        <div class="col-image"></div> <!-- STOPS HERE -->
        THIS CONTENT HERE DOES NOT GET CAPTURED
    </div>
</div>

REGEX:

/<div id=[\'|"]content[\'|"][^>]*>(.*)<\/div>/sUi

所以它停在我已添加说明的地方

有什么理由?已经关注了SO的其他主题,但却无法抓住它。

所以我知道如何在多行中完成它,它在多行中找到匹配的标记

1 个答案:

答案 0 :(得分:1)

正如评论中所提到的,使用DOMDocument更容易实现这一点。例如:

<?php
    $html = '<div id="content"><div><div class="col-image"></div> <!--
             STOPS HERE -->THIS CONTENT HERE DOES NOT GET CAPTURED</div></div>';
    $domDocument = DOMDocument::loadHTML($html);
    $divList = $domDocument->getElementsByTagName('div');
    foreach ($divList as $div) {
        var_dump($div);
    }