簡體   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