Bagaimanakah cara saya mengekstrak teks khusus daripada HTML menggunakan DOMDocument dan XPath PHP?

DDD
Lepaskan: 2024-11-01 13:00:03
asal
375 orang telah melayarinya

How do I extract specific text from HTML using PHP's DOMDocument and XPath?

Menghuraikan HTML dengan DOMDocument PHP

Untuk mengekstrak elemen teks tertentu daripada HTML menggunakan DOMDocument PHP, memanfaatkan pertanyaan XPath boleh menjadi lebih berkesan daripada bergantung semata-mata pada DOMDocument::getElementsByTagName. Pertanyaan XPath membenarkan pemilihan tepat berdasarkan kriteria khusus dalam struktur dokumen.

Menangkap Teks daripada DIV Bersarang

Contoh HTML yang disediakan mengandungi

teg, di mana teks sasaran terletak dalam
elemen dengan kelas "teks", yang seterusnya bersarang dalam
elemen dengan kelas "utama".

Untuk menangkap teks sasaran, pertanyaan XPath boleh digunakan:

<code class="php">$xpath->query('//div[@class="main"]/div[@class="text"]');</code>
Salin selepas log masuk

Pertanyaan ini memilih semua

elemen yang mempunyai atribut kelas ditetapkan kepada "teks" dan merupakan keturunan
elemen dengan atribut kelas ditetapkan kepada "utama". Hasilnya ialah senarai elemen padanan.

Mengulang dan Mengekstrak Nilai Nod

Untuk mengakses kandungan teks sebenar, setiap elemen padanan boleh diulang dan nodeValuenya sifat diakses:

<code class="php">foreach ($tags as $tag) {
    var_dump(trim($tag->nodeValue));
}</code>
Salin selepas log masuk

Fungsi trim() digunakan untuk mengalih keluar sebarang ruang putih di hadapan atau di belakang daripada teks yang diekstrak.

Output Pelaksanaan

Melaksanakan kod akan mengeluarkan yang berikut:

string 'Capture this text 1' (length=19)
string 'Capture this text 2' (length=19)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah cara saya mengekstrak teks khusus daripada HTML menggunakan DOMDocument dan XPath PHP?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!