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
Linda Hamiltonasal
2025-01-03 14:20:40859semak imbas

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')]

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')]");

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\"]");

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');

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 ')]";

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:
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