ubbcode.asp
上传用户:comthink
上传日期:2021-05-06
资源大小:1280k
文件大小:8k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

HTML/CSS

  1. <%
  2. '入口参数:strContent内容
  3. function UBBCode(strContent)
  4. 'HTML Code
  5. if Cint(txl_set(17)) <> 0 then
  6. strContent = dvHTMLEncode(strContent)
  7. else
  8. strContent = HTMLcode(strContent)
  9. end if
  10. 'UbbCode
  11. if Cint(txl_set(16)) <> 0 then
  12. UBBCode=strContent
  13. exit function
  14. end if
  15. dim re
  16. dim po,ii,iii
  17. dim SplitBuyUser,iPostBuyUser
  18. dim reContent
  19. Set re=new RegExp
  20. re.IgnoreCase =true
  21. re.Global=True
  22. po=0
  23. ii=0
  24. re.Pattern="(javascript)"
  25. strContent=re.Replace(strContent,"<I>&#106avascript</I>")
  26. re.Pattern="(jscript:)"
  27. strContent=re.Replace(strContent,"<I>&#106script:</I>")
  28. re.Pattern="(js:)"
  29. strContent=re.Replace(strContent,"<I>&#106s:</I>")
  30. re.Pattern="(value)"
  31. strContent=re.Replace(strContent,"<I>&#118alue</I>")
  32. re.Pattern="(about:)"
  33. strContent=re.Replace(strContent,"<I>about&#58</I>")
  34. re.Pattern="(file:)"
  35. strContent=re.Replace(strContent,"<I>file&#58</I>")
  36. re.Pattern="(document.cookie)"
  37. strContent=re.Replace(strContent,"<I>documents&#46cookie</I>")
  38. re.Pattern="(vbscript:)"
  39. strContent=re.Replace(strContent,"<I>&#118bscript:</I>")
  40. re.Pattern="(vbs:)"
  41. strContent=re.Replace(strContent,"<I>&#118bs:</I>")
  42. re.Pattern="(on(mouse|exit|error|click|key))"
  43. strContent=re.Replace(strContent,"<I>&#111n$2</I>")
  44. 'Img Code
  45. re.Pattern="[IMG](http|https|ftp)://(.[^[]*)[/IMG]"
  46. strContent=re.Replace(strContent,"<IMG SRC=""images/files/gif.gif"" border=0><a onfocus=this.blur() href=""$1://$2"" target=_blank>$1://$2</a>")
  47. '多媒体标签
  48. re.Pattern="[DIR=*([0-9]*),*([0-9]*)](.[^[]*)[/DIR]"
  49. strContent=re.Replace(strContent,"<a href=$3 target=_blank>$3</a>")
  50. re.Pattern="[QT=*([0-9]*),*([0-9]*)](.[^[]*)[/QT]"
  51. strContent=re.Replace(strContent,"<a href=$3 target=_blank>$3</a>")
  52. re.Pattern="[MP=*([0-9]*),*([0-9]*)](.[^[]*)[/MP]"
  53. strContent=re.Replace(strContent,"<a href=$3 target=_blank>$3</a>")
  54. re.Pattern="[RM=*([0-9]*),*([0-9]*)](.[^[]*)[/RM]"
  55. strContent=re.Replace(strContent,"<a href=$3 target=_blank>$3</a>")
  56. re.Pattern="([FLASH])(.[^[]*)([/FLASH])"
  57. strContent= re.Replace(strContent,"<IMG SRC="&txl_info(11)&"swf.gif border=0><a href=$2 target=_blank>$2</a>")
  58. re.Pattern="([FLASH=*([0-9]*),*([0-9]*)])(.[^[]*)([/FLASH])"
  59. strContent= re.Replace(strContent,"<IMG SRC="&txl_info(11)&"swf.gif border=0><a href=$4 target=_blank>$4</a>")
  60. re.Pattern="([URL])(.[^[]*)([/URL])"
  61. strContent= re.Replace(strContent,"<A HREF=""$2"" TARGET=_blank>$2</A>")
  62. re.Pattern="([URL=(.[^[]*)])(.[^[]*)([/URL])"
  63. strContent= re.Replace(strContent,"<A HREF=""$2"" TARGET=_blank>$3</A>")
  64. re.Pattern="([EMAIL])(S+@.[^[]*)([/EMAIL])"
  65. strContent= re.Replace(strContent,"<img align=absmiddle src=pic/email1.gif><A HREF=""mailto:$2"">$2</A>")
  66. re.Pattern="([EMAIL=(S+@.[^[]*)])(.[^[]*)([/EMAIL])"
  67. strContent= re.Replace(strContent,"<img align=absmiddle src=pic/email1.gif><A HREF=""mailto:$2"" TARGET=_blank>$3</A>")
  68. '自动识别网址
  69. re.Pattern = "^((http|https|ftp|rtsp|mms):(//|\\)[A-Za-z0-9./=?%-&_~`@[]':+!]+)"
  70. strContent = re.Replace(strContent,"<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=$1>$1</a>")
  71. re.Pattern = "((http|https|ftp|rtsp|mms):(//|\\)[A-Za-z0-9./=?%-&_~`@[]':+!]+)$"
  72. strContent = re.Replace(strContent,"<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=$1>$1</a>")
  73. re.Pattern = "([^>=""])((http|https|ftp|rtsp|mms):(//|\\)[A-Za-z0-9./=?%-&_~`@[]':+!]+)"
  74. strContent = re.Replace(strContent,"$1<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=$2>$2</a>")
  75. '自动识别www等开头的网址
  76. re.Pattern = "([^(http://|http:\)])((www|cn)[.](w)+[.]{1,}(net|com|cn|org|cc)(((/[~]*|\[~]*)(w)+)|[.](w)+)*(((([?](w)+){1}[=]*))*((w)+){1}([&](w)+[=](w)+)*)*)"
  77. strContent = re.Replace(strContent,"<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://$2>$2</a>")
  78. '自动识别Email地址,如打开本功能在浏览内容很多的帖子会引起服务器停顿
  79. 're.Pattern = "([^(=)])((w)+[@]{1}((w)+[.]){1,3}(w)+)"
  80. 'strContent = re.Replace(strContent,"<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=""mailto:$2"">$2</a>")
  81. 'em code
  82. for ii=0 to txl_emotNum
  83. if len(ii)=1 then po="0" & ii else po=ii
  84. strContent=replace(lcase(strContent),"[em"&po&"]","<img src="&txl_info(9)&txl_emot(ii)&" border=0 align=middle>")
  85. next
  86. re.Pattern="[HTML](.[^[]*)[/HTML]"
  87. strContent=re.Replace(strContent,"<table width='80%' border='0' cellspacing='0' cellpadding='6' class='"&abgcolor&"'><td><b>以下内容为程序代码:</b><br>$1</td></table>")
  88. re.Pattern="[code](.[^[]*)[/code]"
  89. strContent=re.Replace(strContent,"<table width='80%' border='0' cellspacing='0' cellpadding='6' class='"&abgcolor&"'><td><b>以下内容为程序代码:</b><br>$1</td></table>")
  90. re.Pattern="[face=(.[^[]*)](.[^[]*)[/face]"
  91. strContent=re.Replace(strContent,"<font face=$1>$2</font>")
  92. re.Pattern="[align=(center|left|right)](.*)[/align]"
  93. strContent=re.Replace(strContent,"<div align=$1>$2</div>")
  94. re.Pattern="[QUOTE](.*)[/QUOTE]"
  95. strContent=re.Replace(strContent,"<table style=""width:80%"" cellpadding=5 cellspacing=1 class=tableborder1><TR><TD class="&abgcolor&" width=""100%"">$1</td></tr></table><br>")
  96. re.Pattern="[fly](.*)[/fly]"
  97. strContent=re.Replace(strContent,"<marquee width=90% behavior=alternate scrollamount=3>$1</marquee>")
  98. re.Pattern="[move](.*)[/move]"
  99. strContent=re.Replace(strContent,"<MARQUEE scrollamount=3>$1</marquee>")
  100. re.Pattern="[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)](.[^[]*)[/SHADOW]"
  101. strContent=re.Replace(strContent,"<table width=$1 ><tr><td style=""filter:shadow(color=$2, strength=$3)"">$4</td></tr></table>")
  102. re.Pattern="[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)](.[^[]*)[/GLOW]"
  103. strContent=re.Replace(strContent,"<table width=$1 ><tr><td style=""filter:glow(color=$2, strength=$3)"">$4</td></tr></table>")
  104. re.Pattern="[i](.[^[]*)[/i]"
  105. strContent=re.Replace(strContent,"<i>$1</i>")
  106. re.Pattern="[u](.[^[]*)([/u])"
  107. strContent=re.Replace(strContent,"<u>$1</u>")
  108. re.Pattern="[b](.[^[]*)([/b])"
  109. strContent=re.Replace(strContent,"<b>$1</b>")
  110. re.Pattern="[size=([1-4])](.[^[]*)[/size]"
  111. strContent=re.Replace(strContent,"<font size=$1>$2</font>")
  112. re.Pattern="[color=(.[^[]*)](.[^[]*)[/color]"
  113. strContent=re.Replace(strContent,"<font color=$1>$2</font>")
  114. strContent=replace(strContent,"<I></I>","")
  115. set re=Nothing
  116. UBBcode=strContent
  117. end function
  118. function reUBBCode(strContent)
  119. strContent = dvHTMLEncode(strContent)
  120. dim re
  121. Set re=new RegExp
  122. re.IgnoreCase =true
  123. re.Global=True
  124. strContent=replace(strContent,"&nbsp;"," ")
  125. re.Pattern="([QUOTE])(.[^[]*)([/QUOTE])"
  126. strContent=re.Replace(strContent,"")
  127. set re=Nothing
  128. reUBBCode=strContent
  129. end function
  130. Function FilterJS(v)
  131. if not isnull(v) then
  132. dim t
  133. dim re
  134. dim reContent
  135. Set re=new RegExp
  136. re.IgnoreCase =true
  137. re.Global=True
  138. re.Pattern="(&#)"
  139. t=re.Replace(v,"<I>&#</I>")
  140. re.Pattern="(javascript)"
  141. t=re.Replace(t,"<I>&#106avascript</I>")
  142. re.Pattern="(jscript:)"
  143. t=re.Replace(t,"<I>&#106script:</I>")
  144. re.Pattern="(js:)"
  145. t=re.Replace(t,"<I>&#106s:</I>")
  146. re.Pattern="(value)"
  147. t=re.Replace(t,"<I>&#118alue</I>")
  148. re.Pattern="(about:)"
  149. t=re.Replace(t,"<I>about&#58</I>")
  150. re.Pattern="(file:)"
  151. t=re.Replace(t,"<I>file&#58</I>")
  152. re.Pattern="(document.cookie)"
  153. t=re.Replace(t,"<I>documents&#46cookie</I>")
  154. re.Pattern="(vbscript:)"
  155. t=re.Replace(t,"<I>&#118bscript:</I>")
  156. re.Pattern="(vbs:)"
  157. t=re.Replace(t,"<I>&#118bs:</I>")
  158. re.Pattern="(on(mouse|exit|error|click|key))"
  159. t=re.Replace(t,"<I>&#111n$2</I>")
  160. FilterJS=t
  161. set re=nothing
  162. end if
  163. End Function
  164. function dvHTMLEncode(fString)
  165. if not isnull(fString) then
  166.     fString = replace(fString, ">", "&gt;")
  167.     fString = replace(fString, "<", "&lt;")
  168.     fString = replace(fString, "&#", "<I>&#</I>")
  169.     fString = Replace(fString, CHR(32), "<I></I>&nbsp;")
  170.     fString = Replace(fString, CHR(9), "&nbsp;")
  171.     fString = Replace(fString, CHR(34), "&quot;")
  172.     fString = Replace(fString, CHR(39), "&#39;")
  173.     fString = Replace(fString, CHR(13), "")
  174.     fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
  175.     fString = Replace(fString, CHR(10), "<BR> ")
  176.     fString=ChkBadWords(fString)
  177.     dvHTMLEncode = fString
  178. end if
  179. end function
  180. %>