Member Avatar for Ajay Patel1

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

Member Avatar for digital-ether

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.