Прежде всего, я видел много подобных вопросов. Я знаю, что можно использовать регулярное выражение или dom, но я не могу найти хороших примеров DOM, и регулярное выражение заставляет меня тянуть мои волосы. Кроме того, мне нужно вытащить несколько значений из источника html, некоторые просто содержимое, некоторые атрибуты.Извлечь информацию из html?
Вот пример HTML мне нужно, чтобы получить информацию от:
<div class="log">
<div class="message">
<abbr class="dt" title="time string">
DATA_1
</abbr>
:
<cite class="user">
<a class="tel" href="tel:+xxxx">
<abbr class="fn" title="DATA_2">
Me
</abbr>
</a>
</cite>
:
<q>
DATA_3
</q>
</div>
</div>
Блок «сообщение» может произойти один раз или сотни раз. Я пытаюсь закончить с данными, как это:
array(4) {
[0] => array(3) {
["time"] => "DATA_1"
["name"] => "DATA_2"
["message"] => "DATA_3"
}
[1] => array(3) {
["time"] => "DATA_1"
["name"] => "DATA_2"
["message"] => "DATA_3"
}
[2] => array(3) {
["time"] => "DATA_1"
["name"] => "DATA_2"
["message"] => "DATA_3"
}
[3] => array(3) {
["time"] => "DATA_1"
["name"] => "DATA_2"
["message"] => "DATA_3"
}
}
Я попытался с помощью SimpleXML, но это только кажется работать на очень простую HTML-страницах. Может ли кто-нибудь связать меня с некоторыми примерами? Я очень запутался, так как мне нужно получить DATA_2 из атрибута title. Как вы думаете, лучший способ извлечь его данные? Это похоже на извлечение XML, которое я сделал, но мне нужно использовать какой-то другой метод.
Каков адрес, из которого вы извлекаете? –
Вы смотрите на функции DOM? http://php.net/manual/en/book.dom.php – Robbie
Другой хорошей библиотекой для извлечения данных является phpQuery, поскольку она работает в аналогичной фракции с jQuery, которую вы уже используете для сканирования веб-страниц. – scottheckel