Javascript 内容包含更多div

Javascript 内容包含更多div,javascript,html,regex,Javascript,Html,Regex,问题是当内容包含更多div时,嵌套div如下: 内容更多内容更多内容改用解析器: require_once "simple_html_dom.php"; $text = 'foo <div id="t1">Content <div>more stuff</div></div> bar <div>even more</div> baz <div id="t2">yes</div>'; $html =

问题是当内容包含更多div时,嵌套div如下:

内容更多内容更多内容
改用解析器:

require_once "simple_html_dom.php";
$text = 'foo <div id="t1">Content <div>more stuff</div></div> bar <div>even more</div> baz  <div id="t2">yes</div>';
$html = str_get_html($text);
foreach($html->find('div') as $e) {
    if(isset($e->attr['id']) && preg_match('/^t\d++/', $e->attr['id'])) {
        echo $e->outertext . "\n";
    }
}
require_once“simple_html_dom.php”;
$text='foo-Content-more-stuff-bar-more-baz-yes';
$html=str_get_html($text);
foreach($html->find('div')作为$e){
if(设置($e->attr['id'])和&preg_匹配('/^t\d++/',$e->attr['id'])){
echo$e->outertext.“\n”;
}
}
输出:

<div id="t1">Content <div>more stuff</div></div>
<div id="t2">yes</div>
内容更多内容
对
在此处下载解析器:

编辑:更多的是为了我自己的娱乐,我试着用正则表达式来做。以下是我的想法:

$text = 'foo <div id="t1">Content <div>more stuff</div></div> bar <div>even more</div>
      baz <div id="t2">yes <div>aaa<div>bbb<div>ccc</div>bbb</div>aaa</div> </div>';
if(preg_match_all('#<div\s+id="t\d+">[^<>]*(<div[^>]*>(?:[^<>]*|(?1))*</div>)[^<>]*</div>#si', $text, $matches)) {
    print_r($matches[0]);
}
$text='foo-Content-more-stuff-bar甚至更多
是的,是的,是的;
if(preg#u match_all('#[^]*(]*>(?:[^]*|(?1))*)[^]*#si',$text,$matches)){
打印($matches[0]);
}

不要使用正则表达式解析XML,请使用DOM。请允许我推荐这篇文章:你在哪里提到regex?