直播中
作者:沙灘小子
前面為大家介紹了文章的在線添加以及保存,但如果僅僅是這樣還不夠的,因為有很多的文章本身帶有的HTM代碼必須完整的顯示出來,而不是顯示出它的效果來,這也就是說必須轉化HTM代碼以使它能具體顯示出它的代碼,比如:<a href="">你好</a>你并不想在頁面上顯示出它是一個連接,而是顯示其代碼,這就象FRONTPAGE里面的直接在編輯頁面寫代碼,只不過FRONTPAGE提供了轉化的功能而已。
在ASP中可以通過轉化特定的HTM代碼,以使它能以完整的形式顯示,比如HTM的通用格式<>等,還有就是把ASP中顯示HTM代碼的格式要轉化為HTM代碼,比如在ASP里chr(13)表示回車,那么就要將它轉化為<br>,因為在添加文章內容的時候所有的換行和空格在返回到savearticle.asp以后都是以ASP的代碼表示的,所以這個時候就要將它轉化為HTM代碼,只有這樣才能使文章正確的顯示出來。
以下就是本系統(tǒng)對這些代碼的轉化程序,在里面我都詳細的標明了注解
新建一文件articlechar.inc,其具體內容為:
<%
"Function程序是建立在子程序過程中的成組處理功能上的,是一個獨立的程序用來接受自變量以執(zhí)行一系列的代碼語句,以及把處理好的代碼語句的結直接返回給用戶代碼
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)變?yōu)?lt;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
%>
在經(jīng)過對文章返回信息的處理后,文章就可以正常顯示了,所以下一節(jié)將介紹怎樣顯示文章,自動生成文章的HTM頁面。
轉載請注明出處http://asky.on.net.cn