|
|
|
| Может ли кто то подсказать как правильно парсить таблицы? Я решил что оптимально будет сначала выделить строку, а потом в этом строке парсить ячейки, но почему то мой мини парсер ничего не выдает :(
Пример
$html="
<tr class=td>
<td>text</td>
<td>text</td>
<td align=right>123 text</td>
</td>
</tr>
";
$pattern = '/<tr class=td><td>(.*)<\/td><td>(.*)<\/td><td align=right>(.*)<\/td><\/tr>/';
preg_match_all($pattern, $html, $matches);
for ($i=0; $i< count($matches[0]); $i++) {
echo "matched: " . $matches[0][$i] . $matches[1][$i] . $matches[2][$i] . $matches[3][$i] ."<br>";
}
|
подозреваю что то не так в $pattern, но что только не пробовал, не хочет выдавать ничего и все. | |
|
|
|
|
|
|
|
для: Trank
(27.08.2008 в 17:46)
| | Есть такой вариант:
<?php
$url = "http://parse.ru/1.html";
$content = file_get_contents($url);
preg_match_all('/<td>(.+?)<\/td>/', $content, $result);
preg_match_all('/<td align=right>(.+?)<\/td>/', $content, $result2);
echo "<PRE>";
print_r($result);
echo "</PRE>";
echo "<PRE>";
print_r($result2);
echo "</PRE>";
?>
|
| |
|
|
|
|
|
|
|
для: Gangster
(27.08.2008 в 18:01)
| | и такой вариант:
<?php
$url = "http://parse.ru/1.html";
$content = file_get_contents($url);
preg_match_all('/<tr class=td>
<td>(.+?)<\/td>
<td>(.+?)<\/td>
<td align=right>(.+?)<\/td>
<\/td>
<\/tr>/', $content, $result);
echo "<PRE>";
print_r($result);
echo "</PRE>";
?>
|
Думаю то, что надо | |
|
|
|
|
|
|
|
для: Gangster
(27.08.2008 в 18:04)
| |
<?php
$html="
<tr class=td>
<td>text</td>
<td>text</td>
<td align=right>123 text</td>
</td>
</tr>
";
preg_match_all('/<tr class=td>
<td>(.+?)<\/td>
<td>(.+?)<\/td>
<td align=right>(.+?)<\/td>
<\/td>
<\/tr>/', $html, $result);
echo "<PRE>";
print_r($result);
echo "</PRE>";
?>
|
| |
|
|
|
|
|
|
|
для: Gangster
(27.08.2008 в 18:05)
| | Странная таблица, с ошибкой. | |
|
|
|
|
|
|
|
для: Gangster
(27.08.2008 в 18:05)
| | Спасибо огромное! Работает отлично! :) | |
|
|
|