Bagaimana untuk Mengekstrak Teks daripada Elemen dengan Kelas Khusus dalam PHP Menggunakan DOMDocument?

Susan Sarandon
Lepaskan: 2024-11-12 10:24:01
asal
284 orang telah melayarinya

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

Meratakan Teks daripada Elemen dengan Kelas Tertentu

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>
Salin selepas log masuk

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'];
Salin selepas log masuk

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan