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

Posted

技术标签:

【中文标题】获取注释块之间的 html 简单的 HTML DOM【英文标题】:Get html between comments block Simple HTM DOM 【发布时间】:2015-06-30 03:50:43 【问题描述】:

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

<!-- start block -->
<p>Hello world etc</p>
<div>something</div>
<!-- end of block -->

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

【问题讨论】:

这可能是可以使用正则表达式的时候之一。 【参考方案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;

【讨论】:

@EltonJamie 是的,在标志开始后继续获取那些,一旦找到结尾,然后break

以上是关于获取注释块之间的 html 简单的 HTML DOM的主要内容,如果未能解决你的问题,请参考以下文章

2017-10-14

python基础自学 第二天

怎么给代码加注释?

vscode 如何快速把折叠的代码块给注释了?

Python 之 基础知识

1.注释