http://www.perlmonks.org?node_id=539474

the_0ne has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks, I am in need of assistance. I have a task where I need to convert spans in a chunk of html to bold, underline and/or italicize tags. My main problem is nested span tags. Of course there can be a chunk of text that is bolded and then one word in the middle of that span that is italicized. I can not figure out how to write something that will take care of that nesting. I have tried homegrown perl code and also HTML::Parser to no avail...

Here is my sample text...
this <span style="font-weight: bold;">is</span> some <span style="font-weight: bold;">test <span style="font-style: italic;">text</span> <span style="text-decoration: underline;">for</span> bolding</span>, + underlining and italicizing text.<br />
The script needs to change it to this...
this <b>is</b> some <b>test <i>text</i> <u>for</u> bolding</b>, underl +ining and italicizing text.<br />
I have no trouble with an open span (the formatting), some text and then a close span. My main problem is nested span's. Can't figure out how to match up span's with their respective close spans.

Thanks in advance Monks for your service.