这段代码可以简化一下吗?

fense2002 2003-12-20 11:21:42
function htmlencode(str)
dim result
dim l
if isNULL(str) then
htmlencode=""
exit function
end if
l=len(str)
result=""
dim i
for i = 1 to l
select case mid(str,i,1)
case "<"
result=result+"<"
case ">"
result=result+">"
case chr(13)
result=result+"<br>"
case chr(34)
result=result+"""
case "&"
result=result+"&"
case chr(32)
'result=result+" "
if i+1<=l and i-1>0 then
if mid(str,i+1,1)=chr(32) or mid(str,i+1,1)=chr(9) or mid(str,i-1,1)=chr(32) or mid(str,i-1,1)=chr(9) then
result=result+" "
else
result=result+" "
end if
else
result=result+" "
end if
case chr(9)
result=result+" "
case else
result=result+mid(str,i,1)
end select
next
htmlencode=result
end function
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
possible_Y 2003-12-20
  • 打赏
  • 举报
回复
function htmlencode(str)
if isNULL(str) then
htmlencode=""
exit function
end if
htmlencode=Replace(Replace(Replace(Replace(Replace(Replace(Replace(str,"<","<"),">",">"),chr(13),"<br>"),chr(34),"""),"&","&"),chr(32)," "),chr(9)," ")
end functin
stefli 2003-12-20
  • 打赏
  • 举报
回复
[1]函数方式:
   function DeleteHtml(str)
   Dim tempStr
   tempStr=str
   If Not IsNull(tempStr) Then
   tempStr=Replace(tempStr,"<","<")
   tempStr=Replace(tempStr,">",">")
   tempStr=Replace(tempStr,"&#","<i>&#</i>")
   tempStr=Replace(tempStr,"'","'")
   tempStr=Replace(tempStr,"""",""")
   tempStr=Replace(tempStr,vbCrLf,"<br>")
   tempStr=Replace(tempStr," "," ")
   DelHtml=tempStr
   End If
   end function
  
  
  调用:
   Content=DeleteHtml(Request.Form("Content"))
  
   [2]直接使用
   Content=Request.Form("Content")
   Content=Replace(Replace(Replace(Replace(Replace(Replace(Replace(Content,"<","<"),">",">"),"'","'"),"""",""")," "," "),vbCrLf,"<br>"),"&#","<i>&#</i>")


baiger 2003-12-20
  • 打赏
  • 举报
回复
可以。不用变量定义语句,例如 dim result

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧