Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memilih Elemen DOM dengan Cekap mengikut Nama Kelas Menggunakan PHP?
Apabila bekerja dengan PHP DOM, mendapatkan elemen khusus dalam nod berdasarkan kelasnya adalah penting. Mari terokai pendekatan terbaik untuk mencapai ini:
$dom = new DomDocument();<br>$dom->load($filePath);<br>$finder = DomXPath baharu($dom);<br>$nama kelas = "kelas saya";<br>$nodes = $finder->query("//*[mengandungi(@class, '$classname')]");<br>
Pendekatan ini menggunakan XPath untuk memilih semua elemen dengan atribut kelas yang ditentukan.
Jika anda lebih suka sintaks pemilih CSS, Zend_Dom_Query menawarkan penyelesaian yang mudah:
$finder = new Zend_Dom_Query($html);<br>$classname = 'my-class ';<br>$nodes = $finder->query("*[class~='$classname']");<br>
Kemas kini: Versi XPath bagi *[@class~=' my-class'] CSS Selector
Menghuraikan pemilih CSS menggunakan Zend_Dom_Query mendedahkan persamaan Ekspresi XPath:
$nodes = $finder->query("[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')] ");<br>
Dengan menggunakan XPath ini secara langsung, anda boleh membuat pertanyaan untuk elemen yang mengandungi kelas yang ditentukan tanpa menggunakan Zend_Dom_Query.
Apabila memilih elemen mengikut kelas, perlu diperhatikan bahawa jika jenis elemen diketahui, anda boleh menggantikan * dengan nama teg yang sepadan, mengecilkan carian dan meningkatkan kecekapan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Elemen DOM dengan Cekap mengikut Nama Kelas Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!