Pengenalan:
Menghuraikan HTML menggunakan PHP DOM boleh menjadi satu cabaran, terutamanya apabila berurusan dengan keperluan tertentu. Artikel ini meneroka penyelesaian untuk mengekstrak teks daripada elemen dengan kelas yang ditetapkan dan menyusunnya ke dalam tatasusunan berstruktur.
Senario:
Pertimbangkan kandungan HTML berikut:
<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>
Matlamatnya adalah untuk mengekstrak teks daripada elemen dengan kelas "Heading1-H" ke dalam tatasusunan $heading dan teks daripada mereka yang mempunyai kelas "Normal-H" ke dalam tatasusunan $content, menghasilkan:
$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3']; $content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
Penyelesaian Menggunakan DOMDocument dan DOMXPath:
Kami menggunakan DOMDocument dan DOMXPath untuk menangani tugas ini.
// 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);
Penyelesaian ini menghuraikan HTML dengan berkesan dan mengembalikan tatasusunan yang dikehendaki.
Nota:
Menggunakan jQuery untuk tugasan ini tidak disyorkan, kerana PHP DOM menyediakan pendekatan yang lebih berstruktur dan terprogram untuk manipulasi HTML.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Teks daripada Elemen dengan Kelas Khusus dalam PHP Menggunakan DOMDocument?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!