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页面。
转载请注明出处http://asky.on.net.cn
