Để 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".