需要帮助解析PHP DOM的HTML代码。 这是巨大的HTML代码的简单部分:
<table width="100%" border="0" align="center" cellspacing="3" cellpadding="0" bgcolor='#ffffff'>
<tr>
<td align="left" valign="top" width="20%">
<span class="tl">Obchodne meno:</span>
</td>
<td align="left" width="80%">
<table width="100%" border="0">
<tr>
<td width="67%">
<span class='ra'>STORE BUSSINES</span>
</td>
<td width="33%" valign='top'>
<span class='ra'>(od: 02.10.2012)</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
我需要的是获取文本“STORE BUSINESS”。不幸的是,我唯一能抓到的是“Obchodne meno”作为第一个标签的内容,所以根据这个内容,我需要得到它的父母 - &gt; parent-&gt; first sibling-&gt; child-&gt; child-&gt ;儿童安全&GT;儿童安全&gt;内容。我在php中解析html的经验有限,所以任何帮助都是有价值的。提前谢谢!
答案 0 :(得分:0)
利用DOMDocument
类并循环浏览 <span>
标记并将其放入数组中。
<?php
$html=<<<XCOE
<table width="100%" border="0" align="center" cellspacing="3" cellpadding="0" bgcolor='#ffffff'>
<tr>
<td align="left" valign="top" width="20%">
<span class="tl">Obchodne meno:</span>
</td>
<td align="left" width="80%">
<table width="100%" border="0">
<tr>
<td width="67%">
<span class='ra'>STORE BUSSINES</span>
</td>
<td width="33%" valign='top'>
<span class='ra'>(od: 02.10.2012)</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
XCOE;
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('span') as $tag) {
$spanarr[]=$tag->nodeValue;
}
echo $spanarr[1]; //"prints" STORE BUSINESS