PHP简单HTML Dom仅选择内部文本而不是子文本
我使用PHP简单HTML DOM类来解析HTML。 我想用PHP简单HTML Dom仅选择内部文本而不是子文本,php,html,dom,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
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>
我只想要“Hello World”包含一次(“simple\u html\u dom.php”);
$html=新的简单html\U dom();
$text='1
你好,世界。
我不想选择的文本。
我不想选择的文本
';
$html->load($text);
$selector=$html->find(“div#content”,0)->find(“*”);
foreach($selector作为$node){
$node->outertext='';
}
$html->load($html->save());
$selector=$html->find(“div#content”,0);
echo$selector->innertext;
这个问题与jquery无关。不是重复的问题提供一些解释步骤1:查找选择器的所有节点,步骤2:为所有节点设置NULL,步骤3:在步骤3之后重新加载简单HTML DOM选择器内容为“Hello World”
//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
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;