ASP進階之文章線上管理更新(四)

來源:互聯網
上載者:User
線上 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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.