Tôi cố gắng lấy văn bản từ div trong đó class = 'review-text', bằng cách sử dụng phần tử DOM của PHP với HTML sau (cùng cấu trúc) và mã sau.Sử dụng tài liệu PHP DOM, để chọn phần tử HTML theo lớp của nó và nhận được văn bản
Tuy nhiên điều này dường như không làm việc
HTML
$html = ' <div class="page-wrapper"> <section class="page single-review" itemtype="http://schema.org/Review" itemscope="" itemprop="review"> <article class="review clearfix"> <div class="review-content"> <div class="review-text" itemprop="reviewBody"> Outstanding ... </div> </div> </article> </section> </div> ';
PHP Mã
$classname = 'review-text'; $dom = new DOMDocument; $dom->loadHTML($html); $xpath = new DOMXPath($dom); $results = $xpath->query("//*[@class and contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]"); if ($results->length > 0) { echo $review = $results->item(0)->nodeValue; }
Cú pháp XPATH để chọn phần tử theo Class được cung cấp tại đây Blog
Tôi đã thử nhiều ví dụ từ StackOverflow, hướng dẫn trực tuyến, nhưng không có ví dụ nào hoạt động. Tui bỏ lỡ điều gì vậy ?
'// div [contains (@class, 'review-text')]' –