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!