如果有人能给我一个提示,告诉我如何解析这种表,并以特定的顺序显示结果,我将非常感激。
所以我得到的这段html是
<table name="maintable" cellspacing="2" cellpadding="3" border="0" id="grid_block" width="100%" class="csm">
<tr class="shade" style="font-weight: bold">
<td width="30%">Name</td>
<td width="70%">NameOne</td>
</tr>
<tr class="shade" style="font-weight: bold">
<td>Date</td>
<td>2012-09-30</td>
</tr>
</table>
<br>
<table name="maintable" cellspacing=2 cellpadding=3 border=0 id="grid_block" width="100%" class="csm">
<tr>
<td colspan="12" align="center" bgcolor="#90ee90"><b>In Stock</b></td>
</tr>
<tr onmouseover="this.className = 'rowselected';" onmouseout="this.className = 'shade';">
<td class="greenshade"><b>Color/Size</b></td>
<td align="center" class="greenshade"><b>OO</b></td>
<td align="center" class="greenshade"><b>0</b></td>
<td align="center" class="greenshade"><b>2</b></td>
<td align="center" class="greenshade"><b>4</b></td>
<td align="center" class="greenshade"><b>6</b></td>
<td align="center" class="greenshade"><b>8</b></td>
<td align="center" class="greenshade"><b>10</b></td>
<td align="center" class="greenshade"><b>12</b></td>
<td align="center" class="greenshade"><b>14</b></td>
<td align="center" class="greenshade"><b>16</b></td>
<td align="center" class="greenshade"><b>18</b></td>
</tr>
<tr onmouseover="this.className = 'rowselected';" onmouseout="this.className = 'shade';">
<td width='30%' ><b>black</b></td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
</tr>
<tr onmouseover="this.className = 'rowselected';" onmouseout="this.className = 'shade';">
<td width='30%' ><b>nude</b></td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
<td align="Center">-</td>
</tr>
问题是,我需要解析这个表,并以这种形式输出它:
;nameOne;黑色;OO;-;
;nameOne;黑色;0;-;
;nameOne;black;2;-;
等。
因此,基本上-名称(从第一个表),颜色,大小,数量;每种颜色和大小。
在过去的两天里,我一直在努力完成这项工作,但到目前为止还没有任何收获,所以我将非常感谢任何帮助!谢谢!
发布于 2012-07-07 21:38:43
我更喜欢使用这个库https://github.com/olamedia/nokogiri来解析html数据。假设你想把这个东西转换成数组,下面是你怎么做的:
$saw = new nokogiri($big_html_string);
$my_table = $saw->get('table')->toArray();
然后你有了包含所有属性和节点的数组,参见print_r($my_table)
注意,$big_html_string应该是带有<html>, <body>
标签的整个html!
https://stackoverflow.com/questions/11375346
复制相似问题