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.

In reply to Converting span tags. by the_0ne

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.