Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP简单HTML Dom仅选择内部文本而不是子文本_Php_Html_Dom - Fatal编程技术网

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

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

我使用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>
我只想要“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;