获取注释块之间的 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的主要内容,如果未能解决你的问题,请参考以下文章