Text box which allows only certain html tags

I have a text box (multi line) on my aspx page.  This field needs to support only certain html tags (<B>.<U> and <i> and remove all other tags.  The code-behind is C#.  Any help with examples would be appreciated.


Kiran_MAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

wolfdoodCommented:
You could use the replace method.  For example... Replace("your string here", " <br />", "")
0
Kiran_MAuthor Commented:
Hmm...that was my first approach. How do i say ..replace all html tags in the string except ( tagA, TagB, Tag C).
0
wolfdoodCommented:
How about this?
Function stripHTML(ByVal strHTML)
        'Strips the HTML tags from strHTML using split and join
 
        'Ensure that strHTML contains something
        If len(strHTML) = 0 Then
            stripHTML = strHTML
            Exit Function
        End If
 
        Dim arysplit, i, j, strOutput
 
        arysplit = split(strHTML, "<")
 
        'Assuming strHTML is nonempty, we want to start iterating
        'from the 2nd array postition
        If len(arysplit(0)) > 0 Then j = 1 Else j = 0
 
        'Loop through each instance of the array
        For i = j To ubound(arysplit)
            'Do we find a matching > sign?
            If instr(arysplit(i), ">") Then
                'If so, snip out all the text between the start of the string
                'and the > sign
                arysplit(i) = mid(arysplit(i), instr(arysplit(i), ">") + 1)
            Else
                arysplit(i) = "<" & arysplit(i)
            End If
        Next
 
        'Rejoin the array into a single string
        strOutput = join(arysplit, "")
 
        'Snip out the first <
        strOutput = mid(strOutput, 2 - j)
 
        'Convert < and > to &lt; and &gt;
        strOutput = replace(strOutput, ">", "&gt;")
        strOutput = replace(strOutput, "<", "&lt;")
 
        stripHTML = strOutput
    End Function

Open in new window

0
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

wolfdoodCommented:
Sorry, forgot to add when looping through each instance of the array just check for the tags you dont; want to remove.
0
Kiran_MAuthor Commented:
I came across this code online. However this strips all html tags. Let me try fine tuning this  code to ignore certain tags. Do you have C# equivalent?  Thanks.

0
wolfdoodCommented:
Sorry, i only have the VB. Try using http://www.developerfusion.com/tools/convert/vb-to-csharp/ to convert it.
0
Kiran_MAuthor Commented:
Thank you. I'll give it a try and get back.
0
Kiran_MAuthor Commented:
Woolfdood, the code convertor did a very poor job. I am having trouble changing the converted C# code to work. Basically i  need to check all the tags entered in the text and if it is not one of the allowed html tags, I need to throw an error message.

Got any other ideas?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.