高手请看:如何防止在线编辑器的自动完成功能

shuangren 2003-08-08 09:34:19
所有的在线编辑器都有一个通病(也不能算,应该是IE的问题),就是会自动修改用户添加的内容,
例一:在粘贴表格时,不管原HTML中有没有,它会自动产生<tbody></tbody>标记
例二:在粘贴地址字符串时,会自动产生<a href="..."></a>标记
我试过过滤HTML代码的方法,但<tbody></tbody>根本过滤不掉,<a href="..."></a>虽然可以过滤,但只要编辑区有变化,它又会自动产生
请问各位高手该如何防止编辑器的自动完成功能,或者如何在IE里设置?
...全文
47 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuangren 2003-09-10
  • 打赏
  • 举报
回复
这个问题没有办法解决,准备结贴
shuangren 2003-08-17
  • 打赏
  • 举报
回复
弟兄们帮帮忙呀
shuangren 2003-08-17
  • 打赏
  • 举报
回复
shixueli(渴望成功),不管你提的意见有没有解决我的问题,我都会非常感谢你的热心帮助。
让我再把遇到的问题说全面点,还有目前打算的解决方法。

前面已经说了,我在做在线编辑器,但这个编辑器除了基本的在线编辑功能外,它还允许用户从word或frontpage或浏览器中拷贝内容,在粘贴的时候自动将无用信息过滤,也就是只保留有限的几个标签<p></p><table></table><td></td><tr></tr><img><a href>,滤掉其中的样式、属性和其它所有标签,然后用户还可以加入自己的样式、属性,比如<td class="new">,但不允许加除上面几种外的新标签,最后提交时再把html转换成XML格式存入数据库。

因为涉及到转换xml,一定不能留下多余的标签,未下决心用你所说折中办法就是耽心那样只是发现一个问题解决一个问题,将来发现新的还得改,所以我在寻找一个一劳永逸的方法,而且目前还有别的工作,暂不急于做这个。不过发了这么久大家好像也没有更好的办法,如果实在不行,只好老老实实做了。

再次感谢,完成之后我会告诉你此问题是否得到解决。
shixueli 2003-08-17
  • 打赏
  • 举报
回复
我觉得还是用特使的标记表明哪些是需要替换的,用正则表达式就可以做到,
比如说,你设定的正则表达式只是匹配<a href="http://www.163.com">而不会匹配<a href=http://www.163.com>,你要做替换的就是替换后者,
这个问题只有复杂度而没有难度,算是比较好的情况了;
那么多标签?
我做论坛的在线编辑的时候总共替换了20多个标记,连表格也算上了,tbody也不例外;毕竟,ie自动生成的不和你意的肯定有。
-
既然你那么多天都没有想到好的办法为什么不来一种折中的方法呢,也许,刚开始就那么做的话到现在早已经做出来了
--
如果是废话,你也不要怪我
shuangren 2003-08-16
  • 打赏
  • 举报
回复
举个例子,不管手工添加的还是自动生成的链接标签都是<a href=""></a>,格式一样,而我只想保留手工添加的,但过滤程序无法判断。
除非用一些特殊的标记办法区别两者,但这样还是不方便,况且除了<a href>还有那么多种标记。
shixueli 2003-08-14
  • 打赏
  • 举报
回复
我不明白为什么提交时过滤会把你在编辑过程中新加的标签也过滤掉?
你自己添加的标签和它自动生成的标签是一样的么?
-如果不是这样,大可以自己生成的标签不处理就行了啊
shuangren 2003-08-12
  • 打赏
  • 举报
回复
弟兄们帮帮忙呀
shuangren 2003-08-11
  • 打赏
  • 举报
回复
弟兄们帮帮忙呀
shuangren 2003-08-09
  • 打赏
  • 举报
回复
是,在提交时过滤就可以去掉这些自动生成的标签,但我不能这样做,因为那样会把我在编辑过程中新加的一些标签也过滤掉。

昨天思归给我的提示是看htc javascript并修改有关部分,还不太懂,正在研究中
shixueli 2003-08-09
  • 打赏
  • 举报
回复
为什么不在用户提交的时候再过滤?
shuangren 2003-08-09
  • 打赏
  • 举报
回复
你没用过在线编辑器吗?你把CSDN的文档频道打开,试试那个发表文章的在线编辑器,把地址栏的地址拷贝进去,比如http://www.csdn.net/Develop/Add_Article.asp,它会自动给地址加上联接的,这个不是代码里有替换的问题,是IE的问题,它还会自动增加<p><tbody>等标签,所以我才在代码里写了replace的语句,希望能去掉这些标签,但是不行,去掉了还会再生成,我快痛苦死了,因为我正在做把html转换成xml的工作,只需要留几个特定的标签就行了,多余的不要,但现在这几个没用的标签怎么也去不掉,帮我想想办法,谢谢
shuangren 2003-08-08
  • 打赏
  • 举报
回复
代码里的自动替换在哪里?请详细说明,谢谢
jsidiot 2003-08-08
  • 打赏
  • 举报
回复
去掉代码里面得自动替换就可以了
jsidiot 2003-08-08
  • 打赏
  • 举报
回复
你的编辑器代码里面肯定有替换的吧?
不妨吧js文件贴出来看看阿
不是替换为什么会自动修改用户的内容呢?
我的意思可能是里面有了replace来替换
shuangren 2003-08-08
  • 打赏
  • 举报
回复
crossdavi(铁十字) 收信
crossdavi 2003-08-08
  • 打赏
  • 举报
回复
djk8@163.net全要乐,呵呵,顺便研究下你说的问题嘛,共同进步:)
shuangren 2003-08-08
  • 打赏
  • 举报
回复
啊,空欢喜一场。
把你的邮箱告诉我,我发给你,有大(2.2M)中(100k)小(100k)三种,要哪个?
crossdavi 2003-08-08
  • 打赏
  • 举报
回复
请问哪里有在线编辑器的代码下载?

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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