Rumah > pembangunan bahagian belakang > tutorial php > Penghuraian Regex lwn. DOM: Mana yang Terbaik untuk Mengekstrak Atribut `href` daripada HTML?

Penghuraian Regex lwn. DOM: Mana yang Terbaik untuk Mengekstrak Atribut `href` daripada HTML?

Linda Hamilton
Lepaskan: 2024-12-22 18:39:10
asal
308 orang telah melayarinya

Regex vs. DOM Parsing: Which is Best for Extracting `href` Attributes from HTML?

Merebut Atribut href bagi Elemen A: Regex vs. DOM Parsing

Cuba untuk mengekstrak maklumat pautan daripada halaman HTML memerlukan pengendalian yang teliti daripada atribut href. Walaupun ungkapan biasa menawarkan pendekatan asas, mereka boleh menghadapi kesukaran apabila atribut href tidak diletakkan dahulu dalam teg.

Alternatif yang boleh dipercayai ialah menggunakan penghuraian Model Objek Dokumen (DOM). Begini cara untuk mendapatkan maklumat atribut href dengan berkesan menggunakan DOM:

$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('a') as $node) {
    echo $dom->saveHtml($node), PHP_EOL;
}
Salin selepas log masuk

Kod ini mencari dan mengeluarkan "outerHTML" bagi semua elemen A dalam rentetan $html.

Selain itu, DOM menyediakan keupayaan berikut:

  • Mendapatkan nilai teks: $node->nodeValue
  • Menyemak kewujudan atribut href: $node->hasAttribute( 'href' )
  • Mendapatkan atribut href: $node->getAttribute( 'href' )
  • Menukar atribut href: $node->setAttribute('href', 'something else')
  • Mengalih keluar atribut href: $node->removeAttribute('href')
  • Mencari atribut href secara langsung dengan XPath:
$nodes = $xpath->query('//a/@href');
foreach ($nodes as $href) {
    echo $href->nodeValue; // echo current attribute value
}
Salin selepas log masuk

DOM menyediakan penyelesaian yang komprehensif untuk menghuraikan HTML dan mengekstrak maklumat atribut href dengan cekap. Pertimbangkan pendekatan ini untuk hasil yang mantap dan boleh dipercayai. Juga, rujuk sumber yang disediakan untuk penerokaan lanjut.

Atas ialah kandungan terperinci Penghuraian Regex lwn. DOM: Mana yang Terbaik untuk Mengekstrak Atribut `href` daripada HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan