如何在后台去除不完整的HTML标签?

时间:2022-11-10 17:22:12
一般的留言都会用到在线编辑器,但是有时候编辑了留言后提交到后台的时候提交上来的在线编辑器中的HTML标签并不完整,比如有些人故意在后头加个<div>而没有加结尾,

这时候如果直接添加到数据库,当再取出显示的时候就会造成页面上的HTML代码错乱,搞得原本正常的布局都错位了,

请问我应该怎么消除不完整的HTML标签?

我知道应该是用正则表达式,但是具体是怎么清除的我就不会了,请大家给我个示例,多谢了!!!

8 个解决方案

#1


简单的方法 吧所有<>之间的字符都替换掉
步骤 先用正则找到所有<> 然后replace

#2


这个问题好,以前没想过
我提一个方案,你把所有标签都取出来,然后从头开始一个一个的入栈,遇到</>结束的则出栈,进行配对,判断

#3


 string str = "<div>对对对";
            string strs= System.Text.RegularExpressions.Regex.Replace(str, "<[^>]+>", "");

#4


this.FreeTextBox1.Text这个就是FTB中你输入的文本的内容,这是带HTML标记的
this.FreeTextBox1.HtmlStrippedText这个是将HTML标记去掉的文本

#5


this.FreeTextBox1.Text这个就是FTB中你输入的文本的内容,这是带HTML标记的 
this.FreeTextBox1.HtmlStrippedText这个是将HTML标记去掉的文本 

#6


正则可以实现,如果不会写,就使用下面这个组件,将HTML格式化输出即可。

http://www.codeplex.com/htmlagilitypack

这个组件可以将HTML格式化成标准的XHTML格式。

#7


关注。。。。我做的网站一般后台会用到,给自己公司客服用,她们乱搞就骂。。。

前台用,客户乱搞,还真没办法

#8


结贴。。。。
发现。。一些在线编辑器如果你在HTML代码视图下故意输入不完整的标签,然后再转到可视化视图下的,那些不完整的标签会自动补全的。。。呵呵。。
不知道怎么回事。。。
我用kindeditor发现是这样子滴。。。

#1


简单的方法 吧所有<>之间的字符都替换掉
步骤 先用正则找到所有<> 然后replace

#2


这个问题好,以前没想过
我提一个方案,你把所有标签都取出来,然后从头开始一个一个的入栈,遇到</>结束的则出栈,进行配对,判断

#3


 string str = "<div>对对对";
            string strs= System.Text.RegularExpressions.Regex.Replace(str, "<[^>]+>", "");

#4


this.FreeTextBox1.Text这个就是FTB中你输入的文本的内容,这是带HTML标记的
this.FreeTextBox1.HtmlStrippedText这个是将HTML标记去掉的文本

#5


this.FreeTextBox1.Text这个就是FTB中你输入的文本的内容,这是带HTML标记的 
this.FreeTextBox1.HtmlStrippedText这个是将HTML标记去掉的文本 

#6


正则可以实现,如果不会写,就使用下面这个组件,将HTML格式化输出即可。

http://www.codeplex.com/htmlagilitypack

这个组件可以将HTML格式化成标准的XHTML格式。

#7


关注。。。。我做的网站一般后台会用到,给自己公司客服用,她们乱搞就骂。。。

前台用,客户乱搞,还真没办法

#8


结贴。。。。
发现。。一些在线编辑器如果你在HTML代码视图下故意输入不完整的标签,然后再转到可视化视图下的,那些不完整的标签会自动补全的。。。呵呵。。
不知道怎么回事。。。
我用kindeditor发现是这样子滴。。。