PHP - DOM Parser Example

Hai there, para penggemar coding yang muda! Hari ini, kita akan melangkah ke dunia yang menarik PHP dan penguraian DOM. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk menghidahkan Anda dalam perjalanan ini langkah demi langkah. Jadi, ambilkan helm virtual Anda, dan mari kita masuk!

PHP - DOM Parser Example

Apa Itu DOM Parsing?

Sebelum kita masuk ke kode, mari kita pahami apa itu penguraian DOM. Bayangkan Anda membaca sebuah buku. DOM (Document Object Model) adalah seperti struktur buku itu - bab, paragraf, kalimat. Penguraian DOM adalah seperti berlama-lama melihat halaman dan memahami bagaimana segalanya diatur. Dalam dunia web, itu membantu kita menavigasi dan memanipulasi dokumen HTML.

Misi Kita Hari Ini

Kita akan membuat skrip PHP yang membaca file HTML, mengekstrak informasi tertentu darinya, dan menampilkan informasi itu. Itu seperti menjadi seorang detektif, tapi bukan untuk menyelidiki kejahatan, melainkan misteri halaman web!

Contoh

Mari kita mulai dengan file HTML kita. Kita akan menamakannya example.html:

<html>
<body>
<h1>Halaman Rumah Saya</h1>
<div class="menu">
<ul>
<li>HTML</li>
<li>PHP</li>
<li>JavaScript</li>
</ul>
</div>
</body>
</html>

Sekarang, mari kita buat skrip PHP kita untuk menguraikan HTML ini. Kita akan menamainya dom_parser.php:

<?php
// Muat file HTML
$htmlContent = file_get_contents("example.html");

// Buat objek DOMDocument baru
$dom = new DOMDocument();

// Muat konten HTML ke dalam DOMDocument
$dom->loadHTML($htmlContent);

// Buat objek DOMXPath untuk query dokumen
$xpath = new DOMXPath($dom);

// Temukan semua elemen <li>
$liElements = $xpath->query("//li");

// Tampilkan konten setiap elemen <li>
foreach ($liElements as $li) {
echo $li->nodeValue . "<br>";
}
?>

Mari kitauraikan ini langkah demi langkah:

1. Memuat File HTML

$htmlContent = file_get_contents("example.html");

Baris ini membaca keseluruhan konten file HTML kita dan menyimpannya dalam variabel $htmlContent. Itu seperti membuka bukunya dan mengambil snapshot semua halamannya sekali!

2. Membuat Objek DOMDocument

$dom = new DOMDocument();

Di sini, kita membuat objek DOMDocument baru. Pahami ini sebagai membuat kacamata spesial yang membantu kita memeriksa struktur HTML kita lebih detil.

3. Memuat HTML ke DOMDocument

$dom->loadHTML($htmlContent);

Sekarang kita menggunakan kacamata spesial kita (DOMDocument) untuk memeriksa konten HTML kita. Langkah ini mempersiapkan HTML untuk diuraikan.

4. Membuat Objek DOMXPath

$xpath = new DOMXPath($dom);

XPath adalah seperti kompas untuk menavigasi struktur HTML kita. Baris ini membuat objek XPath yang kita akan gunakan untuk menemukan elemen spesifik dalam HTML kita.

5. Menemukan Elemen

  • $liElements = $xpath->query("//li");

    Ini adalah tempat magik terjadi! Kita menggunakan XPath untuk menemukan semua elemen <li> dalam HTML kita. Ekspresi //li berarti "temukan semua elemen <li> di mana saja dalam dokumen".

    6. Menampilkan Hasil

    foreach ($liElements as $li) {
    echo $li->nodeValue . "<br>";
    }

    Akhirnya, kita perulang setiap elemen <li> yang kita temukan dan menampilkan kontennya (nodeValue). Kita menambahkan tag <br> setelah setiap item untuk menempatkan mereka di baris yang berbeda.

    Menjalankan Skrip

    Ketika Anda menjalankan skrip PHP ini, itu akan mengeluarkan:

    HTML
    PHP
    JavaScript

    Voila! Kita telah berhasil mengekstrak item daftar dari file HTML kita.

    Metode Yang Digunakan

    Berikut adalah tabel metode utama yang kita gunakan dalam skrip kita:

    Metode Deskripsi
    file_get_contents() Membaca keseluruhan file ke dalam string
    new DOMDocument() Membuat objek DOMDocument baru
    loadHTML() Memuat HTML dari string
    new DOMXPath() Membuat objek DOMXPath baru
    query() Mengevaluasi ekspresi XPath yang diberikan
    nodeValue Mendapatkan nilai node

    Kesimpulan

    Dan di sana Anda punya nya, teman-teman! Kita baru saja mengambil langkah pertama kita ke dunia penguraian DOM dengan PHP. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba dengan struktur HTML dan query XPath yang berbeda.

    Dalam tahun-tahun saya mengajar, saya menemukan bahwa cara terbaik untuk belajar adalah dengan melakukan. Jadi, ini adalah tugas kecil Anda: Cobalah mengubah skrip untuk mengekstrak elemen yang berbeda dari HTML. Mungkin cobalah untuk mendapatkan konten tag <h1>, atau semua elemen dengan kelas tertentu.

    Selamat coding, dan may the DOM be with you!

  • Credits: Image by storyset