中央空调是什么样子的:求救:如何将HTML代码转化ASCII值?????

来源:百度文库 编辑:高校问答 时间:2024/04/30 01:02:28
我在网页设计时遇到了这样的问题:
我用文本框作为一个信息输入框,用来写信息。但如果直接提交的话,那么
写到数据库里的只有文字,也就是说在读到网页上没有空格和分段。版面很不协调,所以在写到数据库之前我写了一个函数:
<script language=javascript runat=server>
function change(tempstr)
{
var len=tempstr.length;
var laststr="";
while(len>=0)
{
tempstr=tempstr.replace(String.fromCharCode(13),"<br>");
tempstr=tempstr.replace(String.fromCharCode(32)," ");
len--;
}
return tempstr;

}
</script>
主要意思就是将从键盘敲入的空格和回车的ASCII值转化为HTML代码并写入数据库,这样在网页上显示出来的话版面就和从文本框输入时一样了。
但问题没有解决,且真正的问题出来了。
因为,写到数据库里面的除了文字信息,还有转化后的HTML代码,如),"<br>"," ",这样在网页显示的时候是没事的,但我要进行修改时,也就是在将内容读到文本框时,就出问题了。因为除了先前的信息,还有)"<br>"," "这样在进行递交时就出现多余信息了。
我也想过,将HTML代码重新转化ASCII值,但我一直写不出这个函数。即使将
tempstr=tempstr.replace(String.fromCharCode(13),"<br>");
tempstr=tempstr.replace(String.fromCharCode(32)," ");
里进行位置调换也没用。

希望那位高手出手帮帮小弟,小弟万分感激!!!
在此拜谢了!!!

自己写的两个函数,借你用一下,觉得好再加分,嘿嘿

储存时:
<%
function HtmlEncode(str)
on error resume next
Dim result,L
if isnull(str) then
HtmlEncode=""
Exit function
end if

L=len(str)
Dim i
for i=1 to L
select case mid(str,i,1)
case "<"
result=result&"<"
case ">"
result=result&">"
case "&"
result=result&"&"
case "'"
result=result&"''"
case chr(13)
result=result&"<BR>"
case chr(9)
result=result&"    "
case chr(32)
if i+1<=L and i-i>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 else
result=result&mid(str,i,1)
end select
next
if err.number<>0 then
err.clear
end if
HtmlEncode=result
end function
%>
也就是把HTML标准后再存入数据库

需要现在是编辑框之前,先用以下函数:
<%
function HtmlDecode(str)
on error resume next
str=replace(str,"<","<")
str=replace(str,">",">")
str=replace(str,"&","&")
str=replace(str,"<BR>",chr(13))
str=replace(str," ",chr(32))
if err.number<>0 then
err.clear
end if
HtmlDecode=str
end function
%>