Merebut Atribut href: Penyelesaian Berasaskan DOM
Apabila ingin mengekstrak atribut href daripada HTML, ungkapan regex mungkin menghadapi had. Untuk senario di mana atribut href tidak diletakkan dahulu dalam teg , pendekatan yang lebih dipercayai ialah menggunakan API DOM.
Menggunakan DOM untuk Merebut Atribut href
Pertimbangkan kod PHP berikut:
$dom = new DOMDocument; $dom->loadHTML($html); foreach ($dom->getElementsByTagName('a') as $node) { echo $dom->saveHtml($node), PHP_EOL; }
Kod ini memuatkan kandungan HTML ke dalam Objek DOMDocument, berulang melalui semua elemen menggunakan getElementsByTagName dan mengeluarkan HTML luar setiap elemen.
Mengakses Nilai dan Atribut Nod
Untuk mengekstrak maklumat khusus daripada Nod DOM, anda boleh menggunakan yang berikut kaedah:
XPath for Attribute Querying
XPath juga boleh digunakan untuk membuat pertanyaan terus untuk href atribut:
$xpath = new DOMXPath($dom); $nodes = $xpath->query('//a/@href'); foreach($nodes as $href) { echo $href->nodeValue; // Echo current attribute value $href->nodeValue = 'new value'; // Set new attribute value $href->parentNode->removeAttribute('href'); // Remove attribute }
Dengan memanfaatkan keupayaan API DOM, anda boleh menghuraikan kandungan HTML dengan cekap dan memanipulasi teg, termasuk mengekstrak dan mengubah suai atribut hrefnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Atribut href dengan Cekap daripada HTML Menggunakan API DOM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!