繁体   English   中英

正则表达式以提取div内的完整内容

[英]Regular expression to extract full content inside a div

如何在div中提取完整的html内容? 我试过这段代码,

$html= '<html>
            <body>
                <div id="test">
                    <div id="mydiv1">Hello</div>
                    <div id="mydiv2">How are you</div>
                </div>
            </body>
        </html>';

$attr = "id";
$value = "test";

$tag_regex = '/<div[^>]*'.$attr.'="'.$value.'">(.*?)<\\/div>/si';
preg_match($tag_regex,$html,$matches);

echo $matches[0];

通过运行此代码,我得到了结果,

 <div id="test">
    <div id="mydiv1">Hello</div>

预期结果,

<div id="test">
   <div id="mydiv1">Hello</div>
   <div id="mydiv2">How are you</div>
</div>

在我的代码中,正则表达式执行直到第一次出现</div> 如何在<div id="test">获取完整的代码?

使用DOMDocument:

$dom = new DOMDocument;
$dom->loadHTML($html);

$div = $dom->getElementById('test');

$result = $dom->saveHTML($div);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM