Solved

Text box which allows only certain html tags

Posted on 2008-10-29
8
787 Views
Last Modified: 2013-12-17
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.


0
Comment
Question by:Kiran_M
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
8 Comments
 

Expert Comment

by:wolfdood
ID: 22831496
You could use the replace method.  For example... Replace("your string here", " <br />", "")
0
 

Author Comment

by:Kiran_M
ID: 22831584
Hmm...that was my first approach. How do i say ..replace all html tags in the string except ( tagA, TagB, Tag C).
0
 

Expert Comment

by:wolfdood
ID: 22831672
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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Expert Comment

by:wolfdood
ID: 22831709
Sorry, forgot to add when looping through each instance of the array just check for the tags you dont; want to remove.
0
 

Author Comment

by:Kiran_M
ID: 22831801
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
 

Assisted Solution

by:wolfdood
wolfdood earned 250 total points
ID: 22831894
Sorry, i only have the VB. Try using http://www.developerfusion.com/tools/convert/vb-to-csharp/ to convert it.
0
 

Author Comment

by:Kiran_M
ID: 22832084
Thank you. I'll give it a try and get back.
0
 

Accepted Solution

by:
Kiran_M earned 0 total points
ID: 22999320
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

Featured Post

Get Actionable Data from Your Monitoring Solution

Your communication platform is only as good as the relevance of the information you send. Ensure your alerts get to the right people every time with actionable responses. Create escalation rules that ensure everyone follows the process and nothing is left to chance.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question