Stripping HTML tags from SSRS text fields

I have worked extensively with SSRS. One of the common requirements is to strip HTML from text values displayed in reports and apply standard formatting to the text.
HTML have many encoded characters which end users don’t want to see.

The function below replaces encoded characters to the correct string
http://www.w3schools.com/tags/ref_urlencode.asp

The requirement was to add a carriage return whenever a “<br>” is found. Because in some text the “<br>” was “<BR>” and “<br/>”, additional code has been added to cater for them.

The <li>tag needed to be preserve somehow explaining why it’s been converted to “-”
Finally the function uses the Regex expression “<(.|\n)+?>” to strip any html


Public Function StripHTML(ByVal sInput As String) As String
IF sInput IsNot Nothing Then
IF(sInput <>"") Then
Dim objRegExp AS NEW System.Text.RegularExpressions.Regex("<(.|\n)+?>")
sInput = Replace(sInput, "<BR>", Chr(10))
sInput = Replace(sInput, "<br>", Chr(10))
sInput = Replace(sInput, "<br/>", Chr(10))
sInput = Replace(sInput,"&#160;", " ")
sInput = Replace(sInput, "<li>", "-")
sInput = Replace(sInput, "&ndash;", "-")
sInput = Replace(sInput, "&mdash;", "-")
sInput = Replace(sInput, "&iexcl;", "¡")
sInput = Replace(sInput, "&iquest;", "¿")
sInput = Replace(sInput, "&amp;quot;", "")
sInput = Replace(sInput, "&lsquo;", "‘")
sInput = Replace(sInput, "&rsquo;", "’")
sInput = Replace(sInput, "&laquo;", "«")
sInput = Replace(sInput, "&raquo;", "»")
sInput = Replace(sInput, "&nbsp;", " ")
sInput = Replace(sInput, "&amp;", "&")
sInput = Replace(sInput, "&cent;", "¢")
sInput = Replace(sInput, "&copy;", "©")
sInput = Replace(sInput, "&divide;", "÷")
sInput = Replace(sInput, "&gt;", ">")
sInput = Replace(sInput, "&lt;", "<")
sInput = Replace(sInput, "&micro;", "µ")
sInput = Replace(sInput, "&middot;", "·")
sInput = Replace(sInput, "&para;", "¶")
sInput = Replace(sInput, "&plusmn;", "±")
sInput = Replace(sInput, "&euro;", "€")
sInput = Replace(sInput, "&pound;", "£")
sInput = Replace(sInput, "&reg;", "®")
sInput = Replace(sInput, "&sect;", "§")
sInput = Replace(sInput, "&trade;", "™")
sInput = Replace(sInput, "&yen;", "¥")
sInput = Replace(sInput, "&aacute;", "á")
sInput = Replace(sInput, "&Aacute;", "Á")
sInput = Replace(sInput, "&agrave;", "à")
sInput = Replace(sInput, "&Agrave;", "À")
sInput = Replace(sInput, "&acirc;", "â")
sInput = Replace(sInput, "&Acirc;", "Â")
sInput = Replace(sInput, "&aring;", "å")
sInput = Replace(sInput, "&Aring;", "Å")
sInput = Replace(sInput, "&atilde;", "ã")
sInput = Replace(sInput, "&Atilde;", "Ã")
sInput = Replace(sInput, "&auml;", "ä")
sInput = Replace(sInput, "&Auml;", "Ä")
sInput = Replace(sInput, "&aelig;", "æ")
sInput = Replace(sInput, "&AElig;", "Æ")
sInput = Replace(sInput, "&ccedil;", "ç")
sInput = Replace(sInput, "&Ccedil;", "Ç")
sInput = Replace(sInput, "&eacute;", "é")
sInput = Replace(sInput, "&Eacute;", "É")
sInput = Replace(sInput, "&egrave;", "è")
sInput = Replace(sInput, "&Egrave;", "È")
sInput = Replace(sInput, "&ecirc;", "ê")
sInput = Replace(sInput, "&Ecirc;", "Ê")
sInput = Replace(sInput, "&euml;", "ë")
sInput = Replace(sInput, "&Euml;", "Ë")
sInput = Replace(sInput, "&iacute;", "í")
sInput = Replace(sInput, "&Iacute;", "Í")
sInput = Replace(sInput, "&igrave;", "ì")
sInput = Replace(sInput, "&Igrave;", "Ì")
sInput = Replace(sInput, "&icirc;", "î")
sInput = Replace(sInput, "&Icirc;", "Î")
sInput = Replace(sInput, "&Iuml;", "Ï")
sInput = Replace(sInput, "&ntilde;", "ñ")
sInput = Replace(sInput, "&Ntilde;", "Ñ")
sInput = Replace(sInput, "&oacute;", "ó")
sInput = Replace(sInput, "&Oacute;", "Ó")
sInput = Replace(sInput, "&ograve;", "ò")
sInput = Replace(sInput, "&Ograve;", "Ò")
sInput = Replace(sInput, "&ocirc;", "ô")
sInput = Replace(sInput, "&Ocirc;", "Ô")
sInput = Replace(sInput, "&oslash;", "ø")
sInput = Replace(sInput, "&Oslash;", "Ø")
sInput = Replace(sInput, "&otilde;", "õ")
sInput = Replace(sInput, "&Otilde;", "Õ")
sInput = Replace(sInput, "&ouml;", "ö")
sInput = Replace(sInput, "&Ouml;", "Ö")
sInput = Replace(sInput, "&szlig;", "ß")
sInput = Replace(sInput, "&uacute;", "ú")
sInput = Replace(sInput, "&Uacute;", "Ú")
sInput = Replace(sInput, "&ugrave;", "ù")
sInput = Replace(sInput, "&Ugrave;", "Ù")
sInput = Replace(sInput, "&ucirc;", "û")
sInput = Replace(sInput, "&Ucirc;", "Û")
sInput = Replace(sInput, "&uuml;", "ü")
sInput = Replace(sInput, "&Uuml;", "Ü")
sInput = Replace(sInput, "&yuml;", "ÿ")
sInput = Replace(sInput, "&#039;", "'")
RETURN objRegExp.Replace(sInput, "")
ELSE
RETURN sInput
END IF
END IF
End Function

To use the above function, follow the steps below
1. Navigate to report properties>code tab. Copy and paste the above code.

2.Call the function from any textbox value property where needed as follows:
=Code.StripHTML()