Heim >Backend-Entwicklung >PHP-Tutorial >Wie analysiert man HTML in PHP ohne reguläre Ausdrücke?

Wie analysiert man HTML in PHP ohne reguläre Ausdrücke?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-06 11:31:111007Durchsuche

How to Parse HTML in PHP without Regular Expressions?

PHP-Parse-HTML-Code (ohne reguläre Ausdrücke)

Sie haben eine PHP-Variable, die HTML-Code enthält, und Sie müssen den Text dazwischen extrahieren Überschriften ohne Verwendung regulärer Ausdrücke.

Lösung 1: PHP Document Object Model (DOM)

Dieser Ansatz beinhaltet die Verwendung des PHP Document Object Model (DOM) zum Parsen des HTML:

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG';
$DOM = new DOMDocument;
$DOM->loadHTML($str);

// Get all H1 elements
$items = $DOM->getElementsByTagName('h1');

// Display the text of each H1 element
for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "<br/>";
}
?>

Dadurch wird der Text in den Überschriften ausgegeben:

T1
T2
T3

Lösung 2: Regex-Ersatz (für Inhalte zwischen Überschriften)

Wenn das Ziel darin besteht, den Inhalt zwischen den Überschriften zu extrahieren, können Sie reguläre Ausdrücke wie folgt verwenden:

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG';
$result = preg_replace("#<h1>.*?</h1>.*?</h1>#", "", $str);

echo $result;
?>

Dadurch wird der Inhalt zwischen den Überschriften ausgegeben:

Lorem ipsum.The quick red fox...... jumps over the lazy brown FROG

Das obige ist der detaillierte Inhalt vonWie analysiert man HTML in PHP ohne reguläre Ausdrücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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