【问题标题】:php domdocument read element inner textphp domdocument 读取元素内部文本
【发布时间】:2013-06-07 22:26:04
【问题描述】:

我是php新手,所以请原谅这个简单的问题:

如何从元素中提取文本?

     <span id="myElement">Some text I want to read</span>

我有一个开始:

<?php
      $data = $dom->getElementById("myElement");
      $html = $dom->saveHTML($data);

然后呢?正确的指令是什么?

【问题讨论】:

    标签: php domdocument innertext


    【解决方案1】:

    要获取元素包含的文本,您需要textContent 属性:

    $text = $data->textContent;
    

    【讨论】:

    • Abby 专门模拟innerText 的方式?那么例如&lt;div&gt;some text&lt;/div&gt;&lt;div&gt;more text&lt;/div&gt; 不会变成some textmore text 而是分隔单词?
    • @thomasrutter ,考虑到从这篇文章到现在已经过去了多少时间,我的直觉是你必须遍历每个子元素并获取它的 textContent?
    • 这个问题的答案是,XML/DOM 并不打算知道何时应该或不应该隐式插入空格,因为这是更高级别的细节。如果您采用始终假定元素边界处隐含空格的简单方法,那么在某些情况下您会得到不需要的空格,例如某些内联元素周围。所以是的,您确实需要进行更复杂的应用程序级转换,例如从 HTML 到格式化文本。这基本上就是 innerText - 它不是标准的 DOM,因为它是应用程序感知的,并且使用 HTML 知识进行格式化。
    猜你喜欢
    • 2011-08-31
    • 1970-01-01
    • 2012-05-18
    • 2012-03-22
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 2010-11-08
    • 2014-10-04
    相关资源
    最近更新 更多