Sto cercando di ottenere il testo da div dove classe = 'review-text', utilizzando l'elemento DOM di PHP con il seguente HTML (stessa struttura) e codice seguenteUtilizzo del documento DOM PHP, per selezionare l'elemento HTML in base alla classe e ottenere il testo
Tuttavia questo non sembra funzionare
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> ';
codice PHP
$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; }
La sintassi XPATH per selezionare elemento per Classe è fornita in questo Blog
Ho provato molti esempi da StackOverflow, tutorial online, ma nessuno sembra funzionare. Mi sto perdendo qualcosa ?
'// div [contiene (@class, 'review-text')]' –