首页 新闻 会员 周边 捐助

数据破坏了网页格式

0
悬赏园豆:20 [已解决问题] 解决于 2009-11-12 17:45

最近在做一个页面,显示一些数据,这个是用编辑器编辑再录入数据库的,显示时候会截取一段显示出来,但是由于有些数据中带有HTML的样式,如:<font color=red>test</font>之类的,截取的时候有可能会中间截断了,显示就成了<font color=red>这样的了,导致后面的字都成红色的了,想知道大家有没有好的方法防止这种情况啊?博客园主页的是怎么做的呢?内容应该也带有HTML的样式的啊。

 

问题补充: 谢谢兄弟们的帮忙,已经有思路了,还是使用正则表达式替换标签。<\/?(?!br|\/?p|img|\/?div|\/?a)[^>]*> 这个还不够完善,有些还不能替换,例如">"被截断后就找不出来。
webaspx的主页 webaspx | 小虾三级 | 园豆:1973
提问于:2009-11-12 16:50
< >
分享
最佳答案
0

思路:1通过正则将特殊的HTML标签全部替换成空,然后再截取

2.查看一下有没有类似htmlencoding这样签名的方法.主要做的类似于思路1,返回html解析后的值

归根结底你要做的就是把HTML标签剔除后再截取,手动编码剔除也行

收获园豆:20
howard-Wang | 菜鸟二级 |园豆:415 | 2009-11-12 17:23
嗯,是这样子的,已经找到了一个正则表达式:<\/?(?!br|\/?p|img|\/?div|\/?a)[^>]*>不过还需要修改下,谢谢!
webaspx | 园豆:1973 (小虾三级) | 2009-11-12 17:39
虽然未给出答案,但是分还是给了。
webaspx | 园豆:1973 (小虾三级) | 2009-11-12 17:47
其他回答(3)
0

用JavaScript去截取吧

死神的背影 | 园豆:667 (小虾三级) | 2009-11-12 16:59
js截取?如何截取?请教了。 开始想到的用正则替换,但是效果不好。
支持(0) 反对(0) webaspx | 园豆:1973 (小虾三级) | 2009-11-12 17:02
0

麻烦楼主把你现在的出现的问题,在正式环境中截图上传上来看看,我会给出详细解答,呵呵。

看你的描述我有点晕,给我图我能看出真谛来,呵呵。

rainnoless | 园豆:613 (小虾三级) | 2009-11-12 17:17
0

将用户输入的<等符号转义再存储到数据库中。

风海迷沙 | 园豆:4453 (老鸟四级) | 2009-11-12 17:20
想法不错,不过有点麻烦,存取都需要转义。
支持(0) 反对(0) webaspx | 园豆:1973 (小虾三级) | 2009-11-12 17:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册