如何使数据库中取出的数据保持原有格式    
如何保持数据库中原有格式不变:这些问题在论坛里面几乎天天有人问~!
其实当在输入信息,然后提交信息的时候,所有内容的格式是没有变的。
只是在当提取数据库的时候,某些特殊的东西需要将它们显示出来:比如空格、比如回车等
1,先定义一个函数:主要作用是替换特殊字符代码
<%
function HTMLEncode(fString)

    fString = replace(fString, ">", ">")
    fString = replace(fString, "<", "<")
    fString = Replace(fString, CHR(32), " ")
    fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "

")
    fString = Replace(fString, CHR(10), "
")
    HTMLEncode = fString

end function
%>

2,直接调用该函数
<%=HTMLEncode(rs("content"))%>


function HTMLEncode(fString)

    fString = replace(fString, ">", ">")
    fString = replace(fString, "<", "<")
    fString = Replace(fString, CHR(32), " ")
    fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "

")
    fString = Replace(fString, CHR(10), "
")
    HTMLEncode = fString

end function

function output(str)

 out.innerHTML=HTMLEncode(str)

end function




显示



3,练习使用request对象接受数据,并且综合运用些函数。
cnbruce.html









cnbruce.asp

<%
function th(str)
str=replace(str,"妈的","MD")
str=replace(str,"靠","KAO")
th=str
end function

function encode(str)
    str = replace(str, ">", ">")
    str = replace(str, "<", "<")
    str = Replace(str, CHR(32), " ")
    str = Replace(str, CHR(13), "")
    str = Replace(str, CHR(10) & CHR(10), "

")
    str = Replace(str, CHR(10), "
")
encode=str
end function
%>

<%title=request.form("title")
content=request.form("content")%>

文章标题:<%=th(title)%>



文章内容:<%=encode(th(content))%>

th(str)为自定义函数,主要功能很简单:过滤字符。encode(str)也为自定义函数,主要功能是完整地显示被传递的信息。
CHR(10)表示换行,CHR(13)表示回车,CHR(32)表示空格。

附加功能:显示UBB代码。
即ubb.asp中含有ubb()函数。

增强的cnbruce.asp

' target=_blank>http://www.cnbruce.com/blog/ubb.asp"-->
<%
function th(str)
str=replace(str,"妈的","MD")
str=replace(str,"靠","KAO")
th=str
end function
%>



<%title=request.form("title")
content=request.form("content")%>

文章标题:<%=th(title)%>

文章内容:<%=ubb(unhtml(th(content)))%>

有了这些锻炼,相信在使用数据库的时候同样可以胜任。
Replace函数的作用:返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
Replace(expression, find, replacewith[, compare[, count[, start]]]) 

expression 必选项。字符串表达式包含要替代的子字符串。
find 必选项。被搜索的子字符串。
replacewith 必选项。用于替换的子字符串。
start 可选项。expression中开始搜索子字符串的位置。如果省略,默认值为1。在和count关联时必须用.
count 可选项。执行子字符串替换的数目。如果省略,默认值为-1,表示进行所有可能的替换。在和start关联时必须用。
compare 可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅"设置"部分。如果省略,缺省值为0 ,这意味着必须进行二进制比较。

从前到后分别是"在哪里找,找什么,用什么替换"。
在VBScript里""(两个引号)在字符串里会自动存为一个引号,在javascript里\"等于引号
vbcrlf相当于回车符和换行符的组合.
至于Replace函数,其作用就是将字符串Str中的vbcrlf替换为"
" ,vbCrLf&vbCrLf替换为"

"
下面的一个就是很有用的文字转换程序
 


text="妈的,我操"
text=replace(text,"妈的","MD")  
text=replace(text,"操","CAO") 
alert (text)


关联文档