从官方手册中我知道我可以使用以下代码获得所有评论:
// Find all comment (<!--...-->) blocks
$es = $html->find('comment');
但是这会创建一个注释节点数组。我想将评论的内容作为字符串。我怎么能这样做?
我尝试使用$ es-&gt;纯文本,$ es-&gt; innertext和$ es-&gt; outertext。
这是我想要的一个例子:
HTML:
...
<div id='a'>
<!-- Some text -->
</div>
...
PHP:
...
$content = $html->find('div[id=a]', 0)->find('comment', 0)->some_attr;
echo 'Content:'.$content;
浏览器:
Content: Some text
提前致谢!
答案 0 :(得分:0)
我找到了解决方案!
当我们使用SimpleHTMLDom加载html时,注释(脚本和其他内容)将从文档中删除并保存在名为“noise”的数组中。
我们可以在整个噪音列表中找到一个注释/脚本/等搜索字符串模式,并且有一个函数可以做到这一点。
这是解决方案:
$html->search_noise($subString);
因此,在我自己的例子中,解决方案可以是:
1.- $comment = $html->search_noise('Some');
2.- $comment = $html->search_noise('text');
3.- $comment = $html->search_noise('me te');
4.- etc etc
search_noise函数返回与模式匹配的第一个噪声,因此,我们必须对所选的子字符串稍微小心。