在PHP中输出由逗号分隔的HTML表格元素

时间:2014-02-20 05:01:11

标签: php html-table html-parsing comma

我的代码从html表中删除td元素并将它们输出到一行。

这是一个html表,我的代码从中提取td值:

<table width="100%"  border="0" cellspacing="1" cellpadding="0" bgcolor="#006699">
<tr align="center" class="tableRow1Font">
<td width="7%">WAITLIST</td>
<td width="5%">91630</td>
<td width="11%">
ACCY <A HREF="http://www.gwu.edu/~bulletin/ugrad/accy.html#2001" target="_blank">2001</A>
</td>
<td width="5%">10</td>
<td width="16%">Intro Financial Accounting</td>
<td width="6%">3.00</td>
<td width="8%"> Zou, Y</td>
<td width="8%"><A HREF="http://www.gwu.edu/~map/building.cfm?BLDG=DUQUES" target="_blank"
>DUQUES</a> 251</td>
<td width="13%">TR<br>09:35AM - 10:50AM</td>
<td width="14%">
01/13/14 - 04/28/14
</td>
<td width="7%">
</td>
</tr>
</table>

我的代码获取这些td值并在它们自己的行上输出它们。请记住,这只是我的.html文件中的一个表。这是我的代码:

$html = file_get_html('badm.html');

$str = '';

foreach($html->find('table tr[align="center"]') as $e)
    $str .= strip_tags($e->innertext) . '<br>';
        echo $str;

输出看起来像这样(每行都是我的badm.html文件中的一个单独的表): Function Output

我的问题是:如何用一个逗号分隔每个td元素,同时将它们保持在上面相同的格式(在它们自己的行上)?

1 个答案:

答案 0 :(得分:1)

$html = file_get_html('badm.html');
$str = '';
foreach($html->find('table tr[align="center"]') as $e)
{
  foreach($e->find('td') as $f)
  {
   $str .= strip_tags($f->innertext) . ',';
  }
$str = trim($str, ",");
$str .= '<br>';
}
echo $str;