Парсинг данных. Разбить таблицу на переменные...

Печать RSS
38


Пишу, строю и воображаю
0
Доброй ночи!

Парсирую данные. Они схожи с данными WHOIS.

На сайте 1 таблица. Её надо спарсить. До таблицы и после разные теги. ИХ надо убрать. То есть начать парсирование от тега <table> до его закрытия.

Но это не проблема. Проблема в другом, я не смог разбить ячейки.

[html]
<table>
<colgroup>
<col class="names">
<col class="values">
</colgroup>
<tr>
<td class="field">Вопрос</td>
<td>Ответ</td>
</tr>
<tr>
<td class="field">Вопрос</td>
<td>Ответ</td>
</tr>
<tr>
<td class="section">Раздел</td>
</tr>
<tr>
<td class="field">Ещё вопрос</td>
<td>Ещё ответ</td>
</tr>
<tr>
<td class="field">Снова вопрос</td>
<td>Снова ответ</td>
</tr>
</table>
[/html]

То есть как мне из этого получить в массивах переменные? Типа, ВОПРОС-ОТВЕТ, ЕЩЁ ВОПРОС-ЕЩЁ ОТВЕТ. Кстати там ещё и разделы попадаются.

Кому не понятно. МОгу ссылку дать, только в личных сообщениях.

СПАСИБО!
А

Оранжевые штаны
0
DOMNode читай
К

Айсберг Визави
0
или simplehtmldom
Изменил: Кевин Митник (16.02.2014 / 01:17)
Б

Оранжевые штаны
0
preg_match_all('!<tr>.*<td.*>(.*)</td>.*<td.*>(.*)</td>.*</tr>!Us', $text, $matches);
print_r($matches);

Пишу, строю и воображаю
0
2, 3, сейчас в гугле буду искать и юзать.

4, спасибо большое! но он не правильно индексирует, вот что он выдаст:

Array ( [0] => Array ( [0] => Вопрос Ответ [1] => Вопрос Ответ [2] => Раздел Ещё вопрос Ещё ответ [3] => Снова вопрос Снова ответ ) [1] => Array ( [0] => Вопрос [1] => Вопрос [2] => Раздел [3] => Снова вопрос ) [2] => Array ( [0] => Ответ [1] => Ответ [2] => Ещё вопрос [3] => Снова ответ ) )
Б

Оранжевые штаны
0
5. Посмотри
$matches[1] и $matches[2]
foreach($matches[1] as $k=>$question) {
echo $question .' - '.$matches[2][$k];
}
Для выполнения действия необходимо авторизоваться!
Стикеры / Теги / Правила / Топ тем / Топ тем / Поиск