Phân Tích Cú Pháp HTML

PHP:
Phân Tích Cú Pháp HTML

Cách thực hiện:

PHP có một số thư viện có sẵn để phân tích cú pháp HTML, như DOMDocument. Dưới đây là một ví dụ sử dụng đơn giản:

<?php
$htmlString = '<!DOCTYPE html><html><body><h1>Xin chào, Thế giới!</h1></body></html>';
$dom = new DOMDocument();
@$dom->loadHTML($htmlString); // '@' ức chế cảnh báo được gây ra bởi cấu trúc HTML không hợp lệ
$h1Tags = $dom->getElementsByTagName('h1');

foreach ($h1Tags as $tag) {
    echo $tag->nodeValue; // Đầu ra: Xin chào, Thế giới!
}
?>

Kịch bản này xuất ra: Xin chào, Thế giới!

Sâu hơn nữa

Trở lại những ngày đầu của web, chúng ta lấy HTML bằng regex và các giải pháp tự phát, nhưng nó rất l messy. Enter DOMDocumentSimpleXMLElement, với việc phân tích cú pháp HTML và XML đúng đắn kể từ PHP 5. Chúng cho phép bạn điều hướng và thao tác với HTML như một cấu trúc dạng cây.

Ngày nay, trong khi DOMDocument là lựa chọn của bạn để xử lý phân tích cú pháp nội bộ, các lựa chọn khác như SimpleHTMLDomphpQuery cung cấp thêm đường cú pháp và có thể thân thiện hơn đối với những người đến từ nền tảng JavaScript/jQuery.

Nội bộ, DOMDocument chuyển đổi HTML thành một cây DOM, giúp dễ dàng truy cập các phần tử cụ thể, thay đổi thuộc tính, và thậm chí sửa đổi tài liệu ngay lập tức. Một điều thú vị về DOMDocument là khả năng dung nạp của nó đối với HTML kém, làm sạch nó và cho phép bạn làm việc với các trang web thực tế không luôn được định dạng hoàn hảo.

Xem Thêm