PHP - DOM Parser Example

Hai teman-teman yanggemar coding! Hari ini, kita akan mengemban perjalanan yang menarik ke dunia PHP dan parsing DOM. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk mengarahkan Anda melalui petualangan ini langkah demi langkah. Jadi, siapkan topi keras maya Anda, dan mari kita masuk ke dalam!

PHP - DOM Parser Example

Apa Itu Parsing DOM?

Sebelum kita masuk ke kode, mari kita pahami apa itu parsing DOM. Bayangkan Anda membaca sebuah buku. DOM (Document Object Model) seperti struktur buku itu - bab, paragraf, kalimat. Parsing DOM seperti berdorong melalui halaman dan memahami bagaimana semua hal itu 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 memecahkan kejahatan, melainkan untuk memecahkan misteri halaman web!

Contoh

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

<html>
<body>
<h1>My Home Page</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 parsing 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 seluruh konten file HTML kita dan menyimpannya di variabel $htmlContent. Itu seperti membuka bukunya dan mengambil snapshot semua halamannya sekaligus!

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 dekat.

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 parsing.

4. Membuat Objek DOMXPath

$xpath = new DOMXPath($dom);

XPath seperti kompas untuk menavigasi struktur HTML kita. Baris ini membuat objek XPath yang kita gunakan untuk menemukan elemen tertentu di HTML kita.

5. Menemukan Elemen

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

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

    6. Menampilkan Hasil

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

    Akhirnya, kita perulangan melalui setiap elemen <li> yang ditemukan 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 seluruh 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 itu dia, teman-teman! Kita telah mengambil langkah pertama ke dunia parsing DOM dengan PHP. Ingat, latihan membuat sempurna, jadi jangan takut untuk meng eksperimen dengan struktur HTML yang berbeda dan query XPath.

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

    Happy coding, dan may the DOM be with you!

  • Credits: Image by storyset