WEB开发网
开发学院WEB开发ASP ASP进阶之文章在线管理更新(5) 阅读

ASP进阶之文章在线管理更新(5)

 2000-08-03 10:52:34 来源:WEB开发网   
核心提示:asp进阶之文章在线管理更新--对HTM代码的转化篇作者:沙滩小子前面为大家介绍了文章的在线添加以及保存,但如果仅仅是这样还不够的,ASP进阶之文章在线管理更新(5),因为有很多的文章本身带有的HTM代码必须完整的显示出来,而不是显示出它的效果来,文章就可以正常显示了,所以下一节将介绍怎样显示文章,这也就是说必须转化H
asp进阶之文章在线管理更新--对HTM代码的转化篇

作者:沙滩小子

 前面为大家介绍了文章的在线添加以及保存,但如果仅仅是这样还不够的,因为有很多的文章本身带有的HTM代码必须完整的显示出来,而不是显示出它的效果来,这也就是说必须转化HTM代码以使它能具体显示出它的代码,比如:<a href="">你好</a>你并不想在页面上显示出它是一个连接,而是显示其代码,这就象FRONTPAGE里面的直接在编辑页面写代码,只不过FRONTPAGE提供了转化的功能而已。
 在ASP中可以通过转化特定的HTM代码,以使它能以完整的形式显示,比如HTM的通用格式<>等,还有就是把ASP中显示HTM代码的格式要转化为HTM代码,比如在ASP里chr(13)表示回车,那么就要将它转化为<br>,因为在添加文章内容的时候所有的换行和空格在返回到savearticle.asp以后都是以ASP的代码表示的,所以这个时候就要将它转化为HTM代码,只有这样才能使文章正确的显示出来。
 以下就是本系统对这些代码的转化程序,在里面我都详细的标明了注解

 新建一文件articlechar.inc,其具体内容为:
<%
 "Function程序是建立在子程序过程中的成组处理功能上的,是一个独立的程序用来接受自变量以执行一系列的代码语句,以及把处理好的代码语句的结直接返回给用户代码
function htmlencode2(str)
  dim result
  dim l
  if isNULL(str) then
    htmlencode2=""
    exit function
  end if
  l=len(str)
  result=""
dim i
for i = 1 to l
 "对返回的内容进行判定,并对其含有<,>,chr(13),chr(34),&,chr(32),chr(9)进行相应的转化,如chr(13)变为<br>;也就是回车的HTM代码
  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
    htmlencode2=result
  end function
%>

 在经过对文章返回信息的处理后,文章就可以正常显示了,所以下一节将介绍怎样显示文章,自动生成文章的HTM页面。

Tags:ASP 进阶 文章

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接