Heim > Backend-Entwicklung > PHP-Tutorial > Wie extrahiere ich mit DOMDocument Text aus Elementen mit einer bestimmten Klasse in PHP?

Wie extrahiere ich mit DOMDocument Text aus Elementen mit einer bestimmten Klasse in PHP?

Susan Sarandon
Freigeben: 2024-11-12 10:24:01
Original
361 Leute haben es durchsucht

How to Extract Text from Elements with a Specific Class in PHP Using DOMDocument?

Text aus Elementen mit angegebener Klasse reduzieren

Einführung:

Das Parsen von HTML mit PHP DOM kann insbesondere eine Herausforderung sein bei der Bearbeitung spezifischer Anforderungen. In diesem Artikel wird eine Lösung zum Extrahieren von Text aus Elementen mit einer bestimmten Klasse und zum Organisieren in strukturierten Arrays untersucht.

Szenario:

Betrachten Sie den folgenden HTML-Inhalt:

<p class="Heading1-P">
    <span class="Heading1-H">Chapter 1</span>
</p>
<p class="Normal-P">
    <span class="Normal-H">This is chapter 1</span>
</p>
Nach dem Login kopieren

Das Ziel besteht darin, den Text aus zu extrahieren. Elemente mit der Klasse „Heading1-H“ in das Array $heading und Text von denen mit der Klasse „Normal-H“ in das Array $content, was zu Folgendem führt:

$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3'];
$content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
Nach dem Login kopieren

Lösung mit DOMDocument und DOMXPath:

Wir verwenden DOMDocument und DOMXPath, um dieses Problem anzugehen Aufgabe.

// Load HTML into DOMDocument
$dom = new DOMDocument();
$dom->loadHTML($html);

// Create DOMXPath object
$xpath = new DOMXPath($dom);

// Get elements with desired class using XPath
$xpathQuery = "//*[@class='$class']";
$elements = $xpath->query($xpathQuery);

// Extract text from elements and store in arrays
$headings = [];
$contents = [];
foreach ($elements as $element) {
    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
        $headings[] = $node->nodeValue;
    }
}

var_dump($headings);
Nach dem Login kopieren

Diese Lösung analysiert effektiv den HTML-Code und gibt die gewünschten Arrays zurück.

Hinweis:

Die Verwendung von jQuery für diese Aufgabe ist nicht möglich empfohlen, da PHP DOM einen strukturierteren und programmatischeren Ansatz zur HTML-Manipulation bietet.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich mit DOMDocument Text aus Elementen mit einer bestimmten Klasse in PHP?. 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