我是菜鸟,关于文本的格式化输入输出的问题!!!非常急在线等

猞猁狲 2005-01-18 05:48:46
各位大侠,请帮帮忙,我老板让我尽快交工,可是我现在碰到下面一些难题,希望大家能帮帮我!

我做的是一个发布新闻的网站,前台格式化输出新闻,后台管理员格式化录入新闻!库是ACCESS的!

我先介绍一下我的库结构,存新闻的表内有4个字段非别是

字段名称 字段类型
-----------------------------------------
ID(新闻id号) 自动编号
NewT(新闻标题) 文本
NewNR(新闻内容) 备注 (我设置了 允许空字符串)
FBtime(发布日期) 日期/时间

不知道我存放新闻内容的NewNR字段的类型设置的是否正确。哎就是这个新闻内容太让我头痛了!
大家一定要帮我呀!谢谢了!

一、首先是录入的问题,我在管理员新闻录入界面用“文本区域”这个东西让管理员录入文字
代码就是这个<textarea name="NewNR" cols="75" rows="30" id="NewNR"></textarea>,我用
Dreamweaver编辑。我设置了这个控件的一些属性,字符宽度为75,行数为30,其他属性都没动。
可是在实际输入文本内容的时候确非常不好用。一段开头空了两格,然后继续输入文字,可是
输入一行满了以后,我空的两格没了,在文本上面空了一行,然后文本又自动顶到头了!还有用
回车分段或者换行好像还可以!请问大家这怎么解决呀!难道有别的控件吗?还是我设置有问题?


二、文本输入完了以后我将它存入库里,用recordset对象存的,大致方法如下:
NewT=request("NewT") '接受录入页传进的新闻标题和新闻内容
NewNR=request("NewNR") 'NewT是新闻标题,NewNR是新闻内容


sql="select * from table" '存入table表里
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,2,3
rs.addnew
rs("NewT")=NewT
rs("News")=NewNR
rs.update
rs.close
set rs=nothing

不知道我的存储方法是否妥善!
然后,我在另外一个页里输出,我直接从库里调出内容输出到了页面上,方法如下

sql="select * from table" '打开表取出新闻内容
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,2,1

response.write rs("NewNR") '将新闻内容输出到这一句所在的<td></td>中!

问题是,内容输出的一点都不差,可是内容一点格式都没有了,没有空格,没有分段就像这样:

----------------------------------------------
llllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllll
lllllllllllllllllllll
----------------------------------------------

我的问题就是这些了!请大家帮帮忙呀!该怎么解决这些问题,或者有什么源码给我一份!
或者有这方面的文档给我一份,给个地址也行,如果能解决问题,一定多给分!
...全文
191 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tddw 2005-01-21
  • 打赏
  • 举报
回复
用那么麻烦吗?
给你个函数,server.htmlencode()
yanxunet 2005-01-20
  • 打赏
  • 举报
回复
如动网的。
yanxunet 2005-01-20
  • 打赏
  • 举报
回复
录入的问题?

使用<textarea></textarea>本身有很大的局限性,
你所说的问题是正常的,不过没有关系,它只是在你输入的时候显示也那样,也就是说,那是你欲存入数据库的是文章在你的<textarea></textarea>中的模样。
你可以适当的调整rows、cols属性,
也可以用一些功能较强的web编辑器如动态的。
猞猁狲 2005-01-20
  • 打赏
  • 举报
回复
怎么没有人回答阿?
猞猁狲 2005-01-19
  • 打赏
  • 举报
回复
第二个问题已经解决了,谢谢大家,可是第一个问题怎么解决呀!????

就是用<textarea name="NewNR" cols="75" rows="30" id="NewNR"></textarea>输入的问题

----------------------------------------------------------------------------------
一、首先是录入的问题,我在管理员新闻录入界面用“文本区域”这个东西让管理员录入文字
代码就是这个<textarea name="NewNR" cols="75" rows="30" id="NewNR"></textarea>,我用
Dreamweaver编辑。我设置了这个控件的一些属性,字符宽度为75,行数为30,其他属性都没动。
可是在实际输入文本内容的时候确非常不好用。一段开头空了两格,然后继续输入文字,可是
输入一行满了以后,我空的两格没了,在文本上面空了一行,然后文本又自动顶到头了!还有用
回车分段或者换行好像还可以!请问大家这怎么解决呀!难道有别的控件吗?还是我设置有问题?
----------------------------------------------------------------------------------
hackate 2005-01-18
  • 打赏
  • 举报
回复
对,都是读出来的时候处理啦,写进不去处理的!
tatty_bad 2005-01-18
  • 打赏
  • 举报
回复
我喜欢写进去的时候不处理,读出来的时候处理一下...
zfhdream 2005-01-18
  • 打赏
  • 举报
回复
就是基本的替换啊~~楼上给出很多了
wtiancai 2005-01-18
  • 打赏
  • 举报
回复
1.保存到数据库时:
Function HTMLEncode(fString)
if fString="" or isnull(fString) then
fString=fString
exit function
end if
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(34), """)
fString = Replace(fString, CHR(39), "'")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, CHR(10), "<BR>")
HTMLEncode = fString
End Function

2.当在文本框读出时:
Function HTMLDecode(fString)
if fString="" or isnull(fString) then
fString=fString
exit function
end if
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, " ", CHR(32))
fString = Replace(fString, """, CHR(34))
fString = Replace(fString, "'", CHR(39))
fString = Replace(fString, "", CHR(13))
fString = Replace(fString, "</P><P>", CHR(10) & CHR(10))
fString = Replace(fString, "<BR>", CHR(10))
HTMLDecode = fString
End Function
wen1818 2005-01-18
  • 打赏
  • 举报
回复
写库时不需要处理,读出时处理一下:

分两种情况

1。在网页中显示

function HTML(fString)
fString1 = replace(fString, ">", ">")
fString1 = replace(fString1, "<", "<")
fString1 = Replace(fString1, CHR(32), " ")
fString1 = Replace(fString1, CHR(34), """)
fString1 = Replace(fString1, CHR(39), "'")
fString1 = Replace(fString1, CHR(13), "")
fString1 = Replace(fString1, CHR(10) & CHR(10), "</P><P>")
fString1 = Replace(fString1, CHR(10), "<BR>")
HTML = fString1
end function

2。在多行文本框中显示
function Deal(fString)
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString," ",chr(32))
fString = Replace(fString,""",chr(34))
fString = Replace(fString,"'",chr(39))
fString = Replace(fString, "", CHR(13))
fString = Replace(fString, "</P><P>", CHR(10) & CHR(10))
fString = Replace(fString, "<BR>", CHR(10))
Deal = fString
end function

SunshineRide 2005-01-18
  • 打赏
  • 举报
回复
function encode(str)
str = replace(str, ">", ">")
str = replace(str, "<", "<")
str = Replace(str, CHR(32), " ")
str = Replace(str, CHR(13), "")
str = Replace(str, CHR(10), "<BR>")
encode=str
end function

用这个函数稍微处理一下后再写入到数据库,再读出来的时候,就没问题了。
lw1a2 2005-01-18
  • 打赏
  • 举报
回复
使用文本格式试试

SunshineRide 2005-01-18
  • 打赏
  • 举报
回复
那是当然了。
你前面的都没错。
如果你最后输出到TEXTAREA中去,你会发现原来格式还是保留了。
所以在写入库的时候要注意 <BR>原来输入时候产生的空格,硬回车.否则,是显示不出来的。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧