?
Solved

Text box which allows only certain html tags

Posted on 2008-10-29
8
Medium Priority
?
791 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
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 

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 1000 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

AWS Certified Solutions Architect - Associate

This course has been developed to provide you with the requisite knowledge to not only pass the AWS CSA certification exam but also gain the hands-on experience required to become a qualified AWS Solutions architect working in a real-world environment.

Question has a verified solution.

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

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

762 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