Wie kann ich mithilfe von PHPs DOMDocument und XPath effizient Text aus bestimmten HTML-Elementen extrahieren?

Barbara Streisand
Freigeben: 2024-11-02 08:48:29
Original
439 Leute haben es durchsucht

How to Efficiently Extract Text from Specific HTML Elements Using PHP's DOMDocument and XPath?

HTML mit PHPs HTML DOMDocument analysieren

Frage:

Verwendung des DOMDocument-Objekts, Erfassung Text innerhalb bestimmter HTML-Elemente. Beispiel: Extrahieren von „Erfassen Sie diesen Text 1“ und „Erfassen Sie diesen Text 2“ aus dem folgenden 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>
Nach dem Login kopieren

Antwort:

Verwenden von DOMDocument::getElementsByTagName Das Abrufen aller Tags mit einem bestimmten Namen kann sich für diese Aufgabe als ineffizient erweisen. Erwägen Sie stattdessen die Verwendung einer XPath-Abfrage für das Dokument und nutzen Sie dabei die DOMXPath-Klasse.

Implementierung:

  1. HTML in ein DOM-Dokument laden Objekt:

    <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);</code>
    Nach dem Login kopieren
  2. DOMXPath instanziieren Objekt:

    <code class="php">$xpath = new DOMXPath($dom);</code>
    Nach dem Login kopieren
  3. XPath ausführen Abfrage:

    <code class="php">$tags = $xpath->query('//div[@class="main"]/div[@class="text"]');</code>
    Nach dem Login kopieren
  4. Textwerte abrufen:

    <code class="php">foreach ($tags as $tag) {
     var_dump(trim($tag->nodeValue));
    }</code>
    Nach dem Login kopieren

Dieser Ansatz extrahiert effektiv „ „Erfassen Sie diesen Text 1“ und „Erfassen Sie diesen Text 2“ aus dem bereitgestellten HTML.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von PHPs DOMDocument und XPath effizient Text aus bestimmten HTML-Elementen 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!