如何用php解析html表

如何用php解析html表,php,Php,如果有人能告诉我如何解析这类表并按特定顺序显示结果,我将不胜感激 所以我的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>

如果有人能告诉我如何解析这类表并按特定顺序显示结果,我将不胜感激

所以我的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>

名称
名字
日期
2012-09-30

有现货的 颜色/尺寸 面向对象 0 2. 4. 6. 8. 10 12 14 16 18 黑色 - - - - - - - - - - - 裸体 - - - - - - - - - - -
问题是我需要解析这个表并以如下形式输出它:

);名字;黑色OO;-

);名字;黑色0;-;

);名字;黑色2;-;

等等

所以基本上-名称(从第一个表),颜色,大小,数量;适合各种颜色和尺寸

在过去的两天里,我一直在努力实现这一目标,但到目前为止运气不佳,因此我将非常感谢任何帮助! 谢谢大家!

我更喜欢这个库来解析html数据。 假设您想将这些内容转换为数组,请看下面的方法:

$saw = new nokogiri($big_html_string);
$my_table = $saw->get('table')->toArray();
在此之后,您就有了包含所有属性和节点的数组,请参见
print\r($my\u table)
请注意,$big\u html\u字符串应该是带有
标记的整个html