我有一个数据库字段,其值包含HTML表(基本上是一个wysiwyg字段)。所以一个好的$ example变量将是下表。
<table class='product_data'>
<tr class='odd'>
<td>2002</td>
<td>2006</td>
<td>ACURA</td>
</tr>
<tr class='odd'>
<td>2002</td>
<td>2006</td>
<td>HONDA</td>
</tr>
<tr class='odd'>
<td>2002</td>
<td>2006</td>
<td>TOYOTA</td>
</tr>
</table>
我使用PHP从数据库中读取数据。目标是将此数据库字段解析为csv文件。在此示例中,有3行。所以输出csv文件应该是:
2002-2006,ACURA
2002-2006,HONDA
2002-2006,TOYOTA
有没有一种可以在PHP中完成的简单方法?我确定没有任何东西在我头顶。
答案 0 :(得分:0)
下载http://sourceforge.net/projects/simplehtmldom/files/simple_html_dom.php/download
将下载的文件放在与以下文件相同的文件夹中
parser.php
<?php
include "simple_html_dom.php";
$table = "<table class='product_data'>
<tr class='odd'>
<td>2002</td>
<td>2006</td>
<td>ACURA</td>
</tr>
<tr class='odd'>
<td>2002</td>
<td>2006</td>
<td>HONDA</td>
</tr>
<tr class='odd'>
<td>2002</td>
<td>2006</td>
<td>TOYOTA</td>
</tr>
</table>";
$html = str_get_html($table);
header('Content-type: application/ms-excel');
header('Content-Disposition: attachment; filename=yourfilename.csv');
$fp = fopen("php://output", "w");
foreach ($html->find('tr') as $element) {
$td = array();
foreach ($element->find('td') as $row) {
$td [] = $row->plaintext;
}
fputcsv($fp, $td);
}
fclose($fp);