PHP简单的HTML Dom选择内部文本而不是子内部文本

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP简单的HTML Dom选择内部文本而不是子内部文本脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 PHP简单的HTML DOM类来解析html.
我想选择id =“content”内部文本的div,但是当我调用$selecrot-> plaintext时,它也会返回sub div文本

示例HTML

<div id="content">
Hello World.
<div id="sub-content1">
Text I don't want to select.
</div>
<div id="sub-content2">
Text I don't want to select
</div>
</div>

示例代码

//suppose $html contains above html
$selector = $html->find("div#content",0); 
echo $selector->innertext; 
//IT outputs "Hello World. Text I don't want to select. Text I don't want to select"
//but

我只想要“Hello World”

解决方法

include_once('simple_html_dom.PHP');
$html = new simple_html_dom();

$text = '<div id="content">
Hello World.
<div id="sub-content1">
Text I don\'t want to select.
</div>
<div id="sub-content2">
Text I don\'t want to select
</div>
</div>';

$html->load($text);
$selector =$html->find("div#content",0)->find("*");
foreach($selector  as $node){
$node->outertext = '';
}
$html->load($html->save()); 
$selector =$html->find("div#content",0);
echo $selector->innertext;

脚本宝典总结

以上是脚本宝典为你收集整理的PHP简单的HTML Dom选择内部文本而不是子内部文本全部内容,希望文章能够帮你解决PHP简单的HTML Dom选择内部文本而不是子内部文本所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。