Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Cari Elemen DOM mengikut Nama Kelas dalam PHP?

Bagaimanakah Saya Boleh Cari Elemen DOM mengikut Nama Kelas dalam PHP?

Linda Hamilton
Lepaskan: 2025-01-03 14:20:40
asal
859 orang telah melayarinya

How Can I Find DOM Elements by Class Name in PHP?

Mencari Elemen mengikut Nama Kelas dalam DOM

Apabila bekerja dengan nod PHP DOM, anda mungkin perlu mengakses sub-elemen berdasarkan mereka nama kelas. Untuk mencapai matlamat ini, terdapat beberapa pendekatan yang tersedia:

Pemilih XPath

Pemilih XPath membolehkan anda menanyakan dokumen XML atau HTML menggunakan sintaks XPath. Anda boleh menggunakan ungkapan XPath berikut untuk mendapatkan elemen dengan nama kelas tertentu:

//*[contains(@class, '$classname')]
Salin selepas log masuk

Ganti $classname dengan nama kelas sasaran. Contohnya:

$dom = new DomDocument();
$dom->load($filePath);
$finder = new DomXPath($dom);
$classname = "my-class";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
Salin selepas log masuk

Zend_Dom_Query

Zend_Dom_Query menyediakan cara yang fleksibel untuk menanyakan dokumen HTML atau XML menggunakan sintaks pemilih CSS. Ia menyokong pelbagai pemilih, termasuk pemilih atribut kelas. Untuk menggunakan Zend_Dom_Query:

$finder = new Zend_Dom_Query($html);
$classname = 'my-class';
$nodes = $finder->query("*[class~=\"$classname\"]");
Salin selepas log masuk

Pemilih CSS

PHP tidak menyokong pemilih CSS secara asli. Walau bagaimanapun, anda boleh menggunakan pustaka luaran seperti Simple HTML DOM Parser untuk menghuraikan HTML dan menggunakan pemilih CSS untuk mencari elemen. Contohnya:

$html = new simple_html_dom();
$html->load($htmlDocument);
$elements = $html->find('.my-class');
Salin selepas log masuk

Versi Xpath bagi CSS Selector [*[@class~='my-class']

Pendekatan ini melibatkan penggunaan Xpath untuk melaksanakan ungkapan yang agak kompleks yang meniru pemilih CSS [[@class~='my-class']*:

$xpath = "//*[contains(concat(' ', normalize-space(@class), ' '), ' my-class ')]";
Salin selepas log masuk

Akhirnya, pendekatan terbaik untuk mendapatkan elemen DOM mengikut nama kelas bergantung pada keperluan khusus anda dan sumber yang tersedia dalam persekitaran PHP anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Elemen DOM mengikut Nama Kelas dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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