01.
function
strip_tags (str, allowed_tags) {
02.
03.
var
key =
''
, allowed =
false
;
04.
var
matches = [];
05.
var
allowed_array = [];
06.
var
allowed_tag =
''
;
07.
var
i = 0;
08.
var
k =
''
;
09.
var
html =
''
;</pre>
10.
var
replacer =
function
(search, replace, str) {
11.
return
str.split(search).join(replace);
12.
};
13.
14.
15.
if
(allowed_tags) {
16.
allowed_array = allowed_tags.match(/([a-zA-Z0-9]+)/gi);
17.
}
18.
19.
str +=
''
;
20.
21.
22.
matches = str.match(/(<\/?[\S][^>]*>)/gi);
23.
24.
25.
for
(key
in
matches) {
26.
if
(isNaN(key)) {
27.
28.
continue
;
29.
}
30.
31.
32.
html = matches[key].toString();
33.
34.
35.
allowed =
false
;
36.
37.
38.
for
(k
in
allowed_array) {
39.
40.
allowed_tag = allowed_array[k];
41.
i = -1;
42.
43.
if
(i != 0) { i = html.toLowerCase().indexOf(
'<'
+allowed_tag+
'>'
);}
44.
if
(i != 0) { i = html.toLowerCase().indexOf(
'<'
+allowed_tag+
' '
);}
45.
if
(i != 0) { i = html.toLowerCase().indexOf(
'</'
+allowed_tag) ;}
46.
47.
48.
if
(i == 0) {
49.
allowed =
true
;
50.
break
;
51.
}
52.
}
53.
54.
if
(!allowed) {
55.
str = replacer(html,
""
, str);
56.
}
57.
}
58.
59.
return
str;
60.
61.
}