Replacing specific HTML tags using Regex
Posted
by matthewpe
on Stack Overflow
See other posts from Stack Overflow
or by matthewpe
Published on 2010-05-28T18:14:35Z
Indexed on
2010/05/28
18:32 UTC
Read the original article
Hit count: 434
Alright, an easy one for you guys. We are using ActiveReport's RichTextBox to display some random bits of HTML code.
The HTML tags supported by ActiveReport can be found here : http://www.datadynamics.com/Help/ARNET3/ar3conSupportedHtmlTagsInRichText.html
An example of what I want to do is replace any match of <div style="text-align:*</div>
by <p style=\"text-align:*</p>
in order to use a supported tag for text-alignment.
I have found the following regex expression to find the correct match in my html input:
<div style=\"text-align:(.*?)</div>
However, I can't find a way to keep the previous text contained in the tags after my replacement. Any clue? Is it me or Regex are generally a PITA? :)
private static readonly IDictionary<string, string> _replaceMap =
new Dictionary<string, string>
{
{"<div style=\"text-align:(.*?)</div>", "<p style=\"text-align:(.*?)</p>"}
};
public static string FormatHtml(string html)
{
foreach(var pair in _replaceMap)
{
html = Regex.Replace(html, pair.Key, pair.Value);
}
return html;
}
Thanks!
© Stack Overflow or respective owner