向高手请命,底分100,可以再加!

xiao_yu 2002-07-29 12:18:03
问题是这样的:
我有一段代码是用一个隐藏表单提交的一段内容,里面内容是用户端输入的(我通过程序先提交到这个隐藏表单的),所以有可能是文本或HTML代码等,问题是如何只取出中间的文本,也就是如何去掉HTML代码,高手请赐教!!
...全文
8 点赞 收藏 14
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
blacat27 2002-07-30
用innerHTML。同意qiushuiwuhen(秋水无恨) 的想法,

你再试试看。
回复
xiao_yu 2002-07-30
2002年7月30日
我的这个问题还没有解决,还有没有人有更好的方法呢,方法可行之后,我有700分你要多少都可以.
回复
xiudao 2002-07-29
html.encode 行不行?我是初学者
回复
qiushuiwuhen 2002-07-29
编辑器建议使用
<iframe id=demo></iframe>
<script>demo.document.designMode="on"</script>

http://www.microsoft.com/china/msdn/workshop/createwp.asp
回复
evonne_feng 2002-07-29
1.把< > 变成全角的<>
2.把< >替换成< >
回复
xiao_yu 2002-07-29
其实我是手工写的一个编辑器,我现就是想在记事本里显示不要出现HTML代码.
回复
Iamfish 2002-07-29
你说的不是很清楚!

是不是这样:
<body>
<p>122222222222222222221</p>
</body>

得到122222222222222222221

?

如果这样,你也必须保证这个用户的HTML内容正确才能正确。
确切地说,这种做的工作量非常大,等于自已写了一个HTML解释器。






回复
qiushuiwuhen 2002-07-29
1.替换<=><
2.正则去掉<>中内容
3.利用innerHTML
<form>
<textarea name=content>
<span>设想一下,<b>如果一个人输入这样的内容"<注:.....>"你能说它是HTML代码吗?!</b></span>
</textarea>
<script>
function go(f){
with(document.all("demo")){
innerHTML=f.value
alert(innerText)
}
}
</script>
<input type=button onclick=go(content) value=go>
<div id=demo style=display:none></div>
回复
xiao_yu 2002-07-29
看了几位的解决方法,都觉得不太好,基本都是找出<和>中的内容然后换掉.
设想一下,如果一个人输入这样的内容"<注:.....>"你能说它是HTML代码吗?!这只是一般的注释,你怎么能去掉呢?反过来说,有没有可能把所有的HTML代码都写在像replace语句里面,如果我有一个没有列到那就不能替换了是不是,所以我觉得以上的方法都不是很好.当然了,我还得感谢各位,结帖的时候都不会忘记的.

还有那位有更好的方法呢????????????????????????????
回复
希偌 2002-07-29
主要屏蔽掉<,>,script几个元素就可以了
回复
freezwy 2002-07-29
一般这个不好控制,原则是一般地信任客户的输入,就是把HTML代码给屏蔽了,不让显示出格式就是了,按原来用户的输入保存并显示,这个一般都使用REPLACE把<和>给转化了。
如果你要取出HTML代码中的数据,那么你只好写一个函数,使用REPLACE把HTML标准中所有的标志都给替换成空就可以了。
回复
JavaCoffee 2002-07-29
HTML代码都是以“<”和“>”做为前导和后续符的,我的思路是:取出这两个符号之间的部分,剩下的不就是你要的中间的文本了吗?或者就

是你在客户端做判断,不让用户提交带有“<”或者“>”的文本。
回复
evonne_feng 2002-07-29
innerText
回复
lanying 2002-07-29
怎么可能是HTMl代码呢?
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告