Mengekstrak Teks Rata daripada Elemen dengan Kelas Ditetapkan Menggunakan PHP DOM
Mengekstrak teks daripada elemen HTML tertentu ialah tugas biasa dalam pembangunan web. PHP DOM menyediakan alat yang mantap untuk menghuraikan HTML dan mengakses kandungannya. Artikel ini menangani keperluan khusus untuk mengekstrak teks daripada elemen dengan kelas yang dicalonkan kepada dua tatasusunan rata.
Masalah
Diberikan kandungan HTML yang mengandungi teks yang diedarkan antara berbilang elemen p dengan berselang-seli nama kelas, tugasnya adalah untuk menyimpan teks ke dalam dua tatasusunan: satu untuk tajuk dan satu untuk kandungan. Sebagai contoh, diberikan 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>
Kita perlu mendapatkan output berikut:
$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3']; $content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
Penyelesaian
Untuk mencapai ini pengekstrakan menggunakan PHP DOM, kami menggunakan DOMDocument dan DOMXPath. Penyelesaiannya melibatkan langkah berikut:
$dom = new DOMDocument(); $dom->loadHTML($test);
$xpath = new DOMXPath($dom);
$heading = parseToArray($xpath, 'Heading1-H'); $content = parseToArray($xpath, 'Normal-H');
Dalam fungsi parseToArray():
Berikut ialah kod PHP lengkap:
query($xpathquery); $resultarray = []; foreach ($elements as $element) { $nodes = $element->childNodes; foreach ($nodes as $node) { $resultarray[] = $node->nodeValue; } } return $resultarray; } $test = << Chapter 2This is chapter 2
Chapter 3
This is chapter 3
HTML; $dom = new DOMDocument(); $dom->loadHTML($test); $xpath = new DOMXPath($dom); $heading = parseToArray($xpath, 'Heading1-H'); $content = parseToArray($xpath, 'Normal-H'); var_dump($heading); echo "
"; var_dump($content); echo "
";
Pendekatan ini menggunakan kuasa PHP DOM dan XPath untuk mengekstrak teks daripada dokumen HTML dengan cekap, membolehkan manipulasi kandungan yang lebih kompleks dan disasarkan.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Teks daripada Elemen HTML dengan Kelas Tertentu ke dalam Tatasusunan Rata menggunakan PHP DOM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!