Удалить HTML из строки в SSRS 2005 (VB.NET)
-
09-06-2019 - |
Вопрос
мой Набор данных SSRS возвращает поле с HTML-кодом, например
<b>blah blah </b><i> blah </i>.
как мне удалить все HTML-теги?с этим нужно покончить встроенный VB.NET
Изменение данных в таблице - это не вариант.
Решение найдено ...= System.Text.RegularExpressions.Regex.Replace(Строка с htmltostrip, "<[^>]+>","")
Решение
Спасибо Дэниелу, но мне нужно было, чтобы это было сделано встроенно ...вот решение:
= System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>","")
Вот ссылки:
http://weblogs.asp.net/rosherove/archive/2003/05/13/6963.aspx
http://msdn.microsoft.com/en-us/library/ms157328.aspx
Другие советы
Вот хороший пример использования регулярных выражений: http://www.4guysfromrolla.com /webtech/042501-1.shtml р>
Если вы знаете, что HTML-файл достаточно хорошо сформирован, вы можете, если убедитесь, что у него есть корневой узел, преобразовать данные в этом поле в System.Xml.XmlDocument, а затем получить из него значение InnerText. р>
Опять же, вам нужно убедиться, что текст имеет корневой узел, который вы можете добавить самостоятельно, если это необходимо, поскольку это не имеет значения, и убедиться, что HTML правильно сформирован.
Если вы не хотите использовать регулярные выражения (например, если вам нужна более высокая производительность), вы можете попробовать небольшой метод, который я недавно написал, размещенный на CodeProject .
Я бы пошел в Свойства отчета, а затем написал код и добавил следующее
Dim mRemoveTagRegex AS NEW System.Text.RegularExpressions.Regex("<(.|\n)+?>", System.Text.RegularExpressions.RegexOptions.Compiled)
Function RemoveHtml(ByVal text As string) AS string
If text IsNot Nothing Then
Return mRemoveTagRegex.Replace(text, "")
End If
End Function
Затем вы можете использовать Code.RemoveHtml(Fields!Content.Value)
для удаления HTML-тегов.
По моему мнению, это предпочтительнее, чем иметь несколько копий регулярного выражения.