|
|
|
|
|
для: riskk
(22.01.2011 в 12:57)
| | Серьезно? Не знал. Ну и славно ) | |
|
|
|
|
|
|
|
для: The Electronic Cat
(21.01.2011 в 19:25)
| | подсказали решение,
$dom->saveXML($cols->item(0));
|
возвращает значение ячейки полностью | |
|
|
|
|
|
|
|
для: riskk
(21.01.2011 в 13:23)
| | Как PHP мог бы понять, что Вам хочется именно эти теги считать уже контентом, а внешние - узлами дерева DOM? Он преобразует их так же, как table, tr, td.
Получить innerHTML можно, в общем случае,
- создав новый пустой объект DOMDocument,
- импортировав в него нужный узел с помощью метода importNode,
- преобразовав результат в строку с помощью метода saveHTML,
- удалив строковыми функциями лишние внешние теги.
(Как Вы понимаете, это шаги одного способа, а не четыре альтернативы).
Вообще же, возможно, в Вашем случае проще обойтись регулярками, или explode в цикле, или strpos / substr в цикле. Зависит от того, что еще есть в test.htm вообще и в ячейках в частности.
Если то, что вы привели, вполне иллюстрирует содержимое html-файла, то, вероятно, быстрее всего будет что-то вроде
<?php
$html = file_get_contents('test.htm');
while(strstr($html, '<td>'))
{
list($tmp, $html) = explode('<td>', $html, 2);
list($needle, $html) = explode('</td>', $html, 2);
echo $needle; //В переменной $needle - содержимое очередной ячейки. Делаем с ним что-то.
}
?>
|
| |
|
|
|
|
|
|
| Есть таблица
<table>
<tr>
<td>
<p><span>1111</span></p>
</td>
<td >
<p><span><img width=58 height=42
src="image001.gif"></span></p>
</td>
</tr>
</table>
|
которую надо парсить, для этого использую domDocument
$dom = new domDocument;
$dom->loadHTMLFile('test.htm');
$dom->preserveWhiteSpace = true;
$tables = $dom->getElementsByTagName('table');
$rows = $tables->item(0)->getElementsByTagName('tr');
foreach ($rows as $row)
{
$cols = $row->getElementsByTagName('td');
echo $cols->item(0)->nodeValue;
echo $cols->item(1)->nodeValue;
}
|
все бы хорошо, но пробелма в том что nodeValue вместо
<p><span><img width=58 height=42
src="image001.gif"></span></p>
|
возвращает пустую строку, он почему-то очищает все html тэги. Как можно решить эту проблему? Просто текст возвращает нормально, а теги очищает. | |
|
|
|
|