代码之家  ›  专栏  ›  技术社区  ›  user2828442

无法获取innerHTML all childs-PHP

  •  0
  • user2828442  · 技术社区  · 5 年前

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

    当然,outerHTML也可以。

    0 回复  |  直到 10 年前
        1
  •  1
  •   Marco Marsala    5 年前

    Compare 此更新的变体 PHP Manual User Note #89718 :

    <?php 
    function DOMinnerHTML(DOMNode $element) 
    { 
        $innerHTML = ""; 
        $children  = $element->childNodes;
    
        foreach ($children as $child) 
        { 
            $innerHTML .= $element->ownerDocument->saveHTML($child);
        }
    
        return $innerHTML; 
    } 
    ?> 
    

    例子:

    <?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); 
    } 
    ?>