• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 319
  • Last Modified:

ASP.net 2.0 Stripping HTML tags!

I'm inputting data into a sql database. The problem is this: the data is spreadsheet data for registered users.... So, I don't need it to wipe out the spreadsheet data, just strip it of all other data. Anybody have the cleaning code for this? Thanks, Chris.
0
jumpstart0321
Asked:
jumpstart0321
2 Solutions
 
arhameCommented:
Here is a function that'll strip all your HTML from a string.  So pass the string from your database to this function and it'd return it without the HTML.

http://www.4guysfromrolla.com/webtech/042501-1.shtml

 

Function stripHTML(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
       'Ah, the < was was nonmatching
       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
 
alexpercsiCommented:
I think it would be best if you used Regular Expressions.

Here's something i wrote on the fly, i hope it works.
using System.Text;
using System.Text.RegularExpressions;
 
string input;
string output = Regex.Replace(input, "<[a-zA-Z]{1}.*>", "");
output = Regex.Replace(output, "</[a-zA-Z]{1}.*>", "");

Open in new window

0
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.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now