Хорошо, легко для вас, ребята. Мы используем ActiveReport RichTextBox для отображения некоторых случайных битов HTML-кода.
Теги HTML, поддерживаемые ActiveReport, можно найти здесь: http://www.datadynamics.com/Help/ARNET3/ar3conSupportedHtmlTagsInRichText.html
Пример того, что я хочу сделать, - заменить любое совпадение <div style="text-align:*</div>
на <p style=\"text-align:*</p>
, чтобы использовать поддерживаемый тег для выравнивания текста.
Я нашел следующее выражение регулярного выражения, чтобы найти правильное соответствие в моем вводе html:
<div style=\"text-align:(.*?)</div>
Однако я не могу найти способ сохранить предыдущий текст, содержащийся в тегах, после моей замены. Любая подсказка? Это я или Regex вообще 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;
}
Спасибо!