1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133 |
Public Shared Function RemoveHTML(ByVal strText As String) As String
Dim TAGLIST As String
TAGLIST = ";!--;!DOCTYPE;A;ACRONYM;ADDRESS;APPLET;AREA;B;BASE;BAS EFONT;" &
"BGSOUND;BIG;BLOCKQUOTE;BODY;BR;BUTTON;CAPTION;CEN TER;CITE;CODE;" &
"COL;COLGROUP;COMMENT;DD;DEL;DFN;DIR;DIV;DL;DT;EM; EMBED;FIELDSET;" &
"FONT;FORM;FRAME;FRAMESET;HEAD;H1;H2;H3;H4;H5;H6;H R;HTML;I;IFRAME;IMG;" &
"INPUT;INS;ISINDEX;KBD;LABEL;LAYER;LAGEND;LI;LINK; LISTING;MAP;MARQUEE;" &
"MENU;META;NOBR;NOFRAMES;NOSCRIPT;OBJECT;OL;OPTION ;P;PARAM;PLAINTEXT;" &
"PRE;Q;S;SAMP;SCRIPT;SELECT;SMALL;SPAN;STRIKE;STRO NG;STYLE;SUB;SUP;" &
"TABLE;TBODY;TD;TEXTAREA;TFOOT;TH;THEAD;TITLE;TR;T T;U;UL;VAR;WBR;XMP;"
Const BLOCKTAGLIST = ";APPLET;EMBED;FRAMESET;HEAD;NOFRAMES;NOSCRIPT;OBJ ECT;SCRIPT;STYLE;"
Dim nPos1 As Integer
Dim nPos2 As Integer
Dim nPos3 As Integer
Dim strResult As String
Dim strTagName As String
Dim bRemove As Boolean
Dim bSearchForBlock As Boolean
nPos1 = InStr(strText, "<")
Do While nPos1 > 0
nPos2 = InStr(nPos1 + 1, strText, ">")
If nPos2 > 0 Then
strTagName = Mid(strText, nPos1 + 1, nPos2 - nPos1 - 1)
strTagName = Replace(Replace(strTagName, vbCr, " "), vbLf, " ")
nPos3 = InStr(strTagName, " ")
If nPos3 > 0 Then
strTagName = Left(strTagName, nPos3 - 1)
End If
If Left(strTagName, 1) = "/" Then
strTagName = Mid(strTagName, 2)
bSearchForBlock = False
Else
bSearchForBlock = True
End If
If InStr(1, TAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 Then
bRemove = True
If bSearchForBlock Then
If InStr(1, BLOCKTAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 Then
nPos2 = Len(strText)
nPos3 = InStr(nPos1 + 1, strText, "</" & strTagName, vbTextCompare)
If nPos3 > 0 Then
nPos3 = InStr(nPos3 + 1, strText, ">")
End If
If nPos3 > 0 Then
nPos2 = nPos3
End If
End If
End If
Else
bRemove = False
End If
If bRemove Then
strResult = strResult & Left(strText, nPos1 - 1)
strText = Mid(strText, nPos2 + 1)
Else
strResult = strResult & Left(strText, nPos1)
strText = Mid(strText, nPos1 + 1)
End If
Else
strResult = strResult & strText
strText = ""
End If
nPos1 = InStr(strText, "<")
Loop
strResult = strResult & strText
RemoveHTML = strResult
End Function
استفاده از این کلاس بسیار ساده می باشد. همان طور که در کد زیر می بینید ابتدا با استفاده از تابع HtmlEncode تمام کدهای html را فقط نمایش دادنی می کنیم (در صورت اجرا هیچ اثری روی صفحه نمی گذارند) و بعد کدهای html را توسط RemoveHTMLAllTage حذف می کنیم.
|
علاقه مندی ها (Bookmarks)