Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mendapatkan Elemen DOM dengan Cekap mengikut Nama Kelas dalam PHP?

Bagaimana untuk Mendapatkan Elemen DOM dengan Cekap mengikut Nama Kelas dalam PHP?

DDD
DDDasal
2024-12-04 12:36:14488semak imbas

How to Efficiently Retrieve DOM Elements by Class Name in PHP?

Mendapatkan semula Elemen DOM Berdasarkan Nama Kelas

Dalam PHP DOM, mengekstrak elemen dengan nama kelas tertentu adalah penting. Soalan ini memberikan cabaran yang dihadapi oleh pembangun: mencari kaedah optimum untuk mengasingkan elemen tersebut dalam nod DOM.

Untuk menangani isu ini, beberapa pendekatan dibentangkan:

  • Pemilih XPath: Penyelesaian ringkas ialah menggunakan sintaks XPath. Pertimbangkan contoh berikut:
$dom = new DomDocument();
$dom->load($filePath);
$finder = new DomXPath($dom);
$classname = "my-class";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
  • Pemilih CSS dengan Zend_Dom_Query: Untuk senario yang lebih kompleks, memanfaatkan Zend_Dom_Query adalah disyorkan. Sokongan pemilih CSSnya membolehkan pengambilan elemen mudah:
$finder = new Zend_Dom_Query($html);
$classname = 'my-class';
$nodes = $finder->query("*[class~=\"$classname\"]");

Selain itu, untuk senario yang melibatkan pemilih XPath dengan kriteria nama kelas, versi yang lebih halus tersedia:

$classname = "my-class";
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Elemen DOM dengan Cekap 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