Quitar HTML de la cadena en SSRS 2005 (VB.NET)
-
09-06-2019 - |
Pregunta
mi Conjunto de datos SSRS devuelve un campo con HTML, p.e.
<b>blah blah </b><i> blah </i>.
¿Cómo elimino todas las etiquetas HTML?tiene que hacerse con en línea VB.NET
Cambiar los datos de la tabla no es una opción.
Solución encontrada ...= System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>","")
Solución
Gracias a Daniel, pero necesitaba que se hiciera en línea...aquí está la solución:
= System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>","")
Aquí están los enlaces:
http://weblogs.asp.net/rosherove/archive/2003/05/13/6963.aspx
http://msdn.microsoft.com/en-us/library/ms157328.aspx
Otros consejos
Aquí hay un buen ejemplo usando expresiones regulares: http://www.4guysfromrolla.com/webtech/042501-1.shtml
Si sabe que el HTML está lo suficientemente bien formado, puede, si se asegura de que tenga un nodo raíz, convertir los datos de ese campo en un System.Xml.XmlDocument y luego obtener el valor de InnerText.
Nuevamente, tendrás que asegurarte de que el texto tenga un nodo raíz, que puedes agregar tú mismo si es necesario, ya que no importará, y asegurarte de que el HTML esté bien formado.
Si no desea utilizar expresiones regulares (por ejemplo, si necesita un mejor rendimiento), puede intentar un pequeño método que escribí hace un tiempo, publicado en CodeProject.
Iría a Propiedades del informe y luego codificaría y agregaría lo siguiente
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
Entonces puedes usar Code.RemoveHtml(Fields!Content.Value)
para eliminar las etiquetas html.
En mi opinión, esto es preferible que tener varias copias de la expresión regular.