У меня есть следующий HTML-файл
<body>
<div class="container">
<div class="book">
<b>Book Name:</b></br>
<span class="bookname"> Name of the Book </span></br>
<b>Summary:</b></br>
.....
</div>
</div>
</body>
Разбор выше HTML-файла. Я только хочу напечатать внутренний текст < span> element. то есть
Name of the Book
Я пытаюсь разобрать с помощью стороннего плагина ‘simple_html_dom’.
<?php
include_once('simple_html_dom.php');
$html = new simple_html_dom();
$html->load_file("html_file.html");
echo $html->find('span[class=bookname]')->innertext;
?>
но приведенный выше код не работает. Пожалуйста, скажите мне, если я сделал что-то не так, или вы можете помочь мне с помощью модуля PHP DOM, если вы знаете.
simple_html_dom
использует jQuery как (или CSS) селекторы, так find
вернет массив объектов (если есть).
echo $html->find('span[class=bookname]', 0)->innertext;
должно сработать. или даже лучше:
echo $html->find('span.bookname', 0)->innertext;
Других решений пока нет …