ASP新增,修改文章 问题 不是高手勿进

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:53:58
新增文章时`本人用以下代码
以防输出不是HTNL码`
Function HTMLEncode2(str)
dim lytemp
dim zh
dim i
for i = 1 to len(str)
zh = mid(str,i,1)
if zh=" " then zh = " "
if asc(zh)=10 then zh = "<br>"
if asc(zh)=13 then zh = ""
if zh="<" then zh="<"
if zh=">" then zh=">"
lytemp = lytemp + zh
next
str = lytemp
HTMLEncode2=str
End Function
问题在于修改文章时候
但在修改文章时``
<textarea rows="6" name="S1" cols="51">
<%=rs("text")%></textarea>
修改时却出现了`<BR>   ..
之类HTNL符号``在textarea内出现
这么一来大量的文章修改`会很不方便`
再加上
rs("text")=HTMLEncode2(S1)
rs.update
又会再次用上HTMLEncode2编码在以有HTML编码上再编多次码~再编多一次码`导致页面大小破坏``
所以本人用了一个完全没有效果的方法~
Function OutHTML(str)
dim realstr
if len(str)<>0 th

首先:10 是换行符的ascII码,也就是说 chr(10) 就是代表换行符.13是回车的ascII码,chr(13) 代表回车符,
对于文章发布与修改,你可以有两种方法:
1.可以在文章显示页面替换,在数据库中保存的为原样,
str1=replace(str1,chr(13),"<br>")
str1=replace(str1,chr(10),"<br>")
str1=replace(str1,"<","<")
str1=replace(str1,">",">")
这两句在显示输出内容前执行.
在修改页就不用替换,可以直接读取数据库中的值到文本框中即可.
这种方式最好.
2.在提交时保存在数据库前替换:
str1=replace(str1,"<","<")
str1=replace(str1,">",">")
str1=replace(str1,chr(13),"<br>")
str1=replace(str1,chr(10),"<br>")
在修改时读取后未放入文本框前,反过来替换一下:
str1=replace(str1,"<br>",chr(10))
str1=replace(str1,"<","<")
str1=replace(str1,">,">)
至于其他字符的替换,你自己再加上就可以了

看不懂