Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

Phân tích HTML với PHP DOMDocument


Để lấy nội dung văn bản bên trong thẻ <div> có class="text" nằm trong thẻ <div> class="main", bạn sử dụng DOMDocument và DOMXPath như sau:

Ví dụ

<?php
$html = <<<HTML
<div class="main">
  <div class="text">
    This is text 1
  </div>
</div>
<div class="main">
  <div class="text">
    This is text 2
  </div>
</div>
HTML;

$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

// Truy vấn XPath để lấy các phần tử
$tags = $xpath->query('//div[@class="main"]/div[@class="text"]');

foreach ($tags as $tag) {
    var_dump(trim($tag->nodeValue));
}
?>

Kết quả

string 'This is text 1' (length=14)
string 'This is text 2' (length=14)

Giải thích: DOMXPath::query() cho phép truy vấn các phần tử HTML/XML theo cú pháp XPath. Ví dụ trên chọn tất cả thẻ div class="text" là con trực tiếp của div class="main".