Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich mit PHP DOMDocument und DOMXpath effizient bestimmten Text aus HTML extrahieren?

Wie kann ich mit PHP DOMDocument und DOMXpath effizient bestimmten Text aus HTML extrahieren?

Susan Sarandon
Freigeben: 2024-10-31 01:18:29
Original
336 Leute haben es durchsucht

How can I efficiently extract specific text from HTML using PHP DOMDocument and DOMXpath?

HTML mit PHP DOMDocument analysieren

Die Verwendung der DOMDocument-Klasse in PHP bietet eine effizientere und zuverlässigere Methode zum Parsen von HTML im Vergleich zur Verwendung regulärer Ausdrücke . Um bestimmten Text aus einem HTML-Dokument zu extrahieren, spielt die Klasse DOMXpath eine entscheidende Rolle.

Beispiel:

Betrachten Sie die folgende HTML-Zeichenfolge:

<code class="html"><div class="main">
    <div class="text">
        Capture this text 1
    </div>
</div>

<div class="main">
    <div class="text">
        Capture this text 2
    </div>
</div></code>
Nach dem Login kopieren

Unser Ziel ist es, den Text „Erfassen Sie diesen Text 1“ und „Erfassen Sie diesen Text 2“ abzurufen.

XPath-Abfrageansatz:

Anstatt sich auf DOMDocument zu verlassen ::getElementsByTagName, das alle Tags mit einem bestimmten Namen abruft, XPath ermöglicht es uns, bestimmte Elemente basierend auf ihrer Struktur anzusprechen.

<code class="php">$html = <<<HTML
<div class="main">
    <div class="text">
        Capture this text 1
    </div>
</div>

<div class="main">
    <div class="text">
        Capture this text 2
    </div>
</div>
HTML;

$dom = new DOMDocument();
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);</code>
Nach dem Login kopieren

Mit XPath können wir die folgende Abfrage ausführen:

<code class="php">$tags = $xpath->query('//div[@class="main"]/div[@class="text"]');
foreach ($tags as $tag) {
    var_dump(trim($tag->nodeValue));
}</code>
Nach dem Login kopieren

Diese Abfrage ruft alle div-Tags mit der Klasse „text“ ab, die in div-Tags mit der Klasse „main“ verschachtelt sind.

Ausgabe:

string 'Capture this text 1' (length=19)
string 'Capture this text 2' (length=19)
Nach dem Login kopieren

Dies zeigt die Wirksamkeit der Verwendung von PHPs DOMDocument und DOMXpath für die genaue HTML-Analyse und Extraktion spezifischer Inhalte.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP DOMDocument und DOMXpath effizient bestimmten Text aus HTML extrahieren?. 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