在注释块之间获取HTML简单的HTM DOM

Elt*_*mie 6 html php simple-html-dom

如何通过识别其"评论"标签来获取DOM块,例如

<!-- start block -->
<p>Hello world etc</p>
<div>something</div>
<!-- end of block -->
Run Code Online (Sandbox Code Playgroud)

我正在使用Simple PHP DOM解析器,但文档不完整,http://simplehtmldom.sourceforge.net/manual.htm.如果我能用纯PHP做到这一点就好了.

Kev*_*vin 1

您可以尝试首先遍历元素,然后如果找到起始注释,请先跳过它,然后添加一个标志来开始连接下一个元素。如果到达终点,则停止串联:

$html_string = '<!-- start block -->
<p>Hello world etc</p>
<div>something</div>
<div>something2</div>
<!-- end of block -->
<div>something3</div>
';

$html = str_get_html($html_string);
// start point
$start = $html->find('*');
$output = ''; $go = false;
foreach($start as $e) {

    if($e->innertext === '<!-- start block -->') {
        $go = true;
        continue;
    } elseif($e->innertext === '<!-- end of block -->') {
        break;
    }

    if($go) {
        $output .= $e;
    }   
}

echo $output;
Run Code Online (Sandbox Code Playgroud)