Hi

I want to Convert HTML table in to text file using PHP

for that what i have to do?

pls Suggest me

Thanks All,
Ajay

Hi

I want to Convert HTML table in to text file using PHP

for that what i have to do?

pls Suggest me

Thanks All,
Ajay

Is it just a single table, or nested tables (can there be tables inside that table).

Consider the table:

<table>
<tr>
<td>Row 1 Data 1</td>
<td>Row 1 Data 2</td>
</tr>
<tr>
<td>Row 2 Data 1</td>
<td>Row 2 Data 2</td>
</tr>
</table>

If your table is well formatted, you could use an XML parser, like DOM or SimpleXML etc.
http://www.php.net/simplexml
http://www.php.net/manual/en/book.domxml.php

However, if it isn't then you can just use Regular Expressions.

I'm going to attempt a basic example for the above table HTML, but it probably won't work as is:

preg_match_all("/<tr>(.*?)<\/tr>/", $table, $matches);
$rows = $matches[1];

Now all the table rows should be in $rows.

We have to go through each table row, and get out each data column.

foreach($rows as $row) {
preg_match_all("/<td>(.*?)<\/td>/", $row, $matches);
$data[] = $matches[1];
}

Now the array $data should hold all the table rows, in a array for each column

You can then iterate through that array and write the results to a text file.

eg:

$file = fopen('file.txt', 'w');
foreach($data as $row) {

$line = implode("," $row)."\n";
fwrite($file, $line, strlen($line));


}
fclose($file);

Notice the delimiters are "," for each data column and "\n" (line break) for each row.

Hope that give you something to start with for your own purposes.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.