0
我们在我们的网站上使用CMS。许多用户将HTML内容添加到奇怪格式化的数据库中。例如,将所有的HTML放在一行上:如何在PHP中获得DOMElement的innerText?
<h1>This is my title</h1><p>First paragraph</p><p>Second paragraph</p>
当然,这会在浏览器中正确显示。不过,我写在PHP脚本加载了这个数据到一个DOMDocument像这样:
$doc = new DOMDocument();
$doc->loadHTML($row['body_html']);
var_dump($doc->documentElement->textContent);
这显示为:
This is my titleFirst paragraphSecond paragraph
我怎样才能得到documentElement
返回innerText
,而不是textContent
?我相信innerText
将返回带换行符的字符串。
您应该迭代DomDocument中的所有元素,并逐项获取文本项并手动插入空格。例如,看看[这里](http://stackoverflow.com/questions/191923/how-do-i-iterate-through-dom-elements-in-php)。 DomDocument本身不知道它应该在哪里,而是在空白处。 – cb0