Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich inneren und äußeren HTML-Code von einem DOM-Knoten in PHP abrufen?

Wie kann ich inneren und äußeren HTML-Code von einem DOM-Knoten in PHP abrufen?

Patricia Arquette
Freigeben: 2024-12-26 12:56:14
Original
628 Leute haben es durchsucht

How Can I Retrieve Inner and Outer HTML from a DOM Node in PHP?

DOM-Manipulation in PHP: Abrufen von innerem und äußerem HTML

In der DOM-Implementierung von PHP ist das Abrufen des inneren oder äußeren HTML-Codes eines DOM-Knotens nicht einfach. Im Gegensatz zu anderen Entwicklungsumgebungen fehlen PHP native Funktionen, die speziell für diesen Zweck entwickelt wurden.

Lösung

Um dieses Problem zu lösen, haben Entwickler zuverlässige Methoden entwickelt, die DOM-Traversal und String-Manipulation nutzen. Hier ist eine Lösung, die sowohl inneres als auch äußeres HTML genau extrahiert:

function DOMinnerHTML(DOMNode $element) 
{ 
    $innerHTML = ""; 
    $children  = $element->childNodes;

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

    return $innerHTML; 
}

// Usage for outerHTML:
// Recursively call DOMinnerHTML with parent as a parameter
Nach dem Login kopieren

Beispiel:

$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); 
}
Nach dem Login kopieren

Hinweis:

Diese Lösung nutzt die saveHTML()-Methode für die Knotendurchquerung und HTML-Extraktion. Es durchläuft die untergeordneten Knoten des angegebenen Elements und verarbeitet sie rekursiv, um den resultierenden inneren oder äußeren HTML-Code zu erstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich inneren und äußeren HTML-Code von einem DOM-Knoten in PHP abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage