Text 简单的HTMLDOM和文本

Text 简单的HTMLDOM和文本,text,simple-html-dom,Text,Simple Html Dom,假设一个简单的HTMLDOM对象包含以下内容 text1 <br /> <br /> <br /> text2 <br /> text1 文本2 如何使用简单的html dom获取这两种文本?使用jquery try$(document.body).contents() 这应该是一个以text1和text2作为文本节点的节点数组。要获取所有纯文本元素,可以使用以下命令: $string="text1 <br /> <b

假设一个简单的HTMLDOM对象包含以下内容

text1
<br />
<br />
<br />
text2
<br />
text1



文本2
如何使用简单的html dom获取这两种文本?

使用jquery try$(document.body).contents()


这应该是一个以text1和text2作为文本节点的节点数组。

要获取所有纯文本元素,可以使用以下命令:

$string="text1
<br />
<br />
<br />
text2
<br />";

$html = str_get_html($string);
$texts=$html->find('text');
foreach($texts as $elem_index => $text){
    echo $elem_index."=>".$text."<br>";
}
在foreach循环中,显然可以执行任何需要的过滤。例如,如果要查找与特定字符串匹配的文本,只需执行以下操作:

if (trim($text) == "text2")
    //do something
因此,如果要替换找到的文本,可以使用:

if (trim($text) == "text2")
    $texts[$elem_index]->innertext = "something else";
$html->save();

$html
将包含新的html。

只需使用纯文本即可从html获取文本值

$opts = array(
'http' => array(
    'method' => "GET",
    'header' => "Accept-language: en\r\n" .
        "User-Agent:    Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; 
         rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6\r\n" .
        "Cookie: foo=bar\r\n"
     )
  );

$context = stream_context_create($opts);

$html1 = new simple_html_dom();
$html1->load_file($url, false, $context);
$appName1 = $html1->find('tagname.classname or id', 0)->plaintext;
类使用(
tagname.classname
)和id使用(
tagname#id
)获取文本


$context用于在任何网站获得移动版本时为浏览器支持设置标题,以便您可以添加标题以获得浏览器支持内容。

文档将是dom的根。您需要从那里进行遍历。@在这种情况下,如何使用遍历获得文本节点???
$opts = array(
'http' => array(
    'method' => "GET",
    'header' => "Accept-language: en\r\n" .
        "User-Agent:    Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; 
         rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6\r\n" .
        "Cookie: foo=bar\r\n"
     )
  );

$context = stream_context_create($opts);

$html1 = new simple_html_dom();
$html1->load_file($url, false, $context);
$appName1 = $html1->find('tagname.classname or id', 0)->plaintext;