首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取DOMNode的innerHTML?

如何获取DOMNode的innerHTML?
EN

Stack Overflow用户
提问于 2010-01-18 23:34:43
回答 8查看 100.7K关注 0票数 102

在PHP DOM实现中,使用哪个函数来获取给定DOMNode的innerHTML?有没有人能给出可靠的解决方案?

当然,outerHTML也会这样做。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-01-18 23:38:52

PHP Manual User Note #89718 Compare这个更新过的变体

代码语言:javascript
复制
<?php 
function DOMinnerHTML(DOMNode $element) 
{ 
    $innerHTML = ""; 
    $children  = $element->childNodes;

    foreach ($children as $child) 
    { 
        $innerHTML .= $element->ownerDocument->saveHTML($child);
    }

    return $innerHTML; 
} 
?> 

示例:

代码语言:javascript
复制
<?php 
$dom= new DOMDocument(); 
$dom->preserveWhiteSpace = false;
$dom->formatOutput       = true;
$dom->load($html_string); 

$domTables = $dom->getElementsByTagName("table"); 

// Iterate over DOMNodeList (Implements Traversable)
foreach ($domTables as $table) 
{ 
    echo DOMinnerHTML($table); 
} 
?> 
票数 163
EN

Stack Overflow用户

发布于 2016-05-14 03:25:37

要返回元素的html,可以使用C14N()

代码语言:javascript
复制
$dom = new DOMDocument();
$dom->loadHtml($html);
$x = new DOMXpath($dom);
foreach($x->query('//table') as $table){
    echo $table->C14N();
}
票数 15
EN

Stack Overflow用户

发布于 2016-06-28 22:42:29

哈伊姆·Evgi答案的简化版本:

代码语言:javascript
复制
<?php

function innerHTML(\DOMElement $element)
{
    $doc = $element->ownerDocument;

    $html = '';

    foreach ($element->childNodes as $node) {
        $html .= $doc->saveHTML($node);
    }

    return $html;
}

示例用法:

代码语言:javascript
复制
<?php

$doc = new \DOMDocument();
$doc->loadHTML("<body><div id='foo'><p>This is <b>an <i>example</i></b> paragraph<br>\n\ncontaining newlines.</p><p>This is another paragraph.</p></div></body>");

print innerHTML($doc->getElementById('foo'));

/*
<p>This is <b>an <i>example</i></b> paragraph<br>

containing newlines.</p>
<p>This is another paragraph.</p>
*/

不需要设置preserveWhiteSpaceformatOutput

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2087103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档