Remove all HTML/XML tags from CSV file

KeterHD
KeterHD used Ask the Experts™
on
Hola, everyone!

I've got myself a CSV file, of MySQL descent. Originally, the file was used as a DB for a website. For that reason, the text inside the table contains tons of HTML/XML characters intended to specify the location and design of the text on a page.

While it's all swell, now that I need to get just the text out of it, it's quite a nightmare. As there are hundreds of variations of design tags within the document, there is no way I could possibly remove them all.

Could you think of a way to strip the document of all tags? I found some solutions using PHP, however, I lack knowledge of it, hence I can do little to improve the situation.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
maybe you should use strip_tags(); function while exporting...

Here is an example:
$csvContent = 'blabla<tr><td>blabla</td></tr>";

$export = strip_tags($csvContent);

you can also exclude some html tags in second parameter of strip_tags(); like this:
strip_tags($csvContent, "<a><b><table>"); this means that <a>, <b> and <table> tags will stay unfiltered.

Author

Commented:
Hey, mates.

@V4nP3rs13: As far as I understand, the strip_tags requires a variable. However, I've got 1600 separate lines of text that must remain separate. I obviously cannot create 1600 variables.

@mars-vie: I'm looking into it.
Success in ‘20 With a Profitable Pricing Strategy

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Can you paste me the code. Which way of CSV exporting are you using ?? Do you use an array for that or something else ??

Author

Commented:
No, no, you don't understand. I have no code. I just have this former-DB file from which I need to remove dozens of thousands of tags. The question is how.
look... I have an idea... first export a file named "test.csv"... then.. open it via php, strip tags and save it again:

<?php
$csvFile = "Myexport.csv";
$f = fopen($csvFile, 'w'); //creates export CSV file for writing
$export = strip_tags(file_get_contents("test.csv")); //loads a CSV test file and deletes tags
fwrite($f, $export); //writes to a CSV files without HTML tags
fclose($f);
?>

Author

Commented:
Okay.

In order to execute it, I assume I have to run it on an IIS/Apache/whatever server?
apache prefered :)

Author

Commented:
Haha, I bet. Will get back to you.
Does it work ??

Author

Commented:
Sorry, it was late evening, mate. I'll let you know within a few hours.

Author

Commented:
Okay, it doesn't work on my IIS server for some reason (no doubt, thanks to Symantec Endpoint Protection Manager installed on it). I'm installing XAMPP on a VM and will get back to you.

Author

Commented:
Damn, I thought I was expected to see output in MSIE window, so I believed the script didn't work. It did, on both Apache and IIS, but with no result. The exported file is absolutely the same.

Allow me to post an example of single entry containing the tags. The situation is pretty similar accross all 6100 lines:

&lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt; &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt; &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt; &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt; &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt; &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt;¿¿¿ ¿¿ ¿¿¿¿¿ ¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿¿, ¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿ ¿¿¿¿, ¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿¿, ¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿ ¿¿¿¿. ¿¿¿ ¿¿, ¿¿¿¿ ¿¿¿¿¿¿ ¿¿ ¿¿¿¿ ¿¿¿¿¿¿ &quot¿¿¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿&quot, ¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿, ¿¿¿ ¿¿ ¿¿¿¿¿¿¿, ¿¿¿ ¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿. ¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿ ¿¿ ¿¿ ¿¿ ¿¿¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿¿-¿¿¿¿¿¿¿¿¿¿¿¿ ¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿, ¿¿¿ ¿¿ ¿¿ ¿¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿¿, ¿¿¿¿¿¿¿¿, ¿¿¿¿¿¿, ¿¿¿¿¿¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿¿, ¿¿¿¿¿¿¿ ¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿.&lt;/div&gt;  &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt;¿¿¿¿¿¿¿ ¿¿¿¿¿¿, ¿¿¿ ¿¿ ¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿, ¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿¿¿¿¿¿¿-¿¿¿¿¿¿¿, ¿¿¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿ ¿¿¿¿¿¿. ¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿ ¿¿ ¿¿¿¿¿ ¿¿¿¿¿ ¿¿ ¿¿¿¿ ¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿¿¿¿¿ ¿¿¿¿¿, ¿¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿ ¿¿¿¿ ¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿-¿¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿ ¿¿¿¿ ¿¿¿¿¿¿.&lt;/div&gt;  &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt;¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿¿¿¿¿¿¿, ¿¿¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿ ¿¿ ¿&quot¿¿¿¿¿ ¿¿¿¿¿¿&quot ¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿ ¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿, ¿¿¿¿¿¿¿ ¿¿¿¿¿, ¿¿¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿¿¿¿, ¿¿¿ ¿¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿.&lt;/div&gt;  &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt;¿¿¿ ¿¿ ¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿¿¿¿ &quot¿¿¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿ - ¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿&quot. ¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿ ¿¿: (1) &quot¿¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿, 1914-1860&quot (1983); (2) &quot¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿&quot (1985); (3) &quot¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿-¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿ 1918-1855&quot (1987); (4) &quot¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿ 1948-1918&quot (1989); (5) &quot¿¿¿¿¿¿ ¿¿¿¿¿¿¿¿ ¿¿¿¿ ¿¿¿¿¿¿ 1990-1948&quot (1991).&lt;/div&gt;  &lt;div dir=&quotrtl&quot style=&quotTEXT-ALIGN: right&quot&gt;¿¿¿¿ ¿¿¿¿ ¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿ ¿¿¿¿¿¿¿¿¿¿¿-¿¿¿¿¿¿ ¿¿ ¿¿¿¿¿¿¿, ¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿¿¿¿¿ ¿¿¿¿¿¿¿ ¿¿ ¿¿¿¿ ¿¿¿¿¿ ¿¿¿.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

Open in new window

Author

Commented:
Oh, the question marks are supposed to be an RTL text, but I guess EE can't display those here.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial