欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如何确定在线编辑HTML的合法性_html/css_WEB-ITnose

程序员文章站 2022-05-31 20:30:13
...
HTML 标签 编辑器 过滤 有一个企业网站,用户可以通过后台发布文章,
并且用户可以通过在线编辑器,编辑文章内容部份的HTML标签。
现在问题来了,就是如何确保用户通过在线编辑器提交的HTML代码中的HTML标签都完全避合?

因为目前发现这样一个情况,就是从数据库中读出含有HTML代码的文章时,
因为之前数据库中的HTML代码内,有的HTML标签并无闭合标签(比如,有开始的
却没有
),
最后导致的情况就是这样读出来的文章,会破坏掉我现有页面的布局及样式,
这种情况你们怎么解决?

完全过滤HTML是不可能的,因为用户要求保留编辑样式功能,但如何确保用户提交的HTML标签的合法性?


========================================有点乱,见谅======================================

回复讨论(解决方案)

A、用IFRAME作为自封闭的容器来显示用户文章,他编辑时啥样还啥样,不会影响你的布局。
B、接收提交的编辑内容后用处理函数检查闭合性(相对并不难,因为大多都是先进后出式的嵌套结构,少数单标签或复合标签也是有规律的),但要面临选择:是返回错误,还是自动更正?

从难易度讲,建议用A方案吧。


1、用户是要保留HTML代码编辑功能?一般用户都是不懂html的,更加不熟悉DIV布局;
2、一般网站编辑器都有“文本模式”(默认)和“代码模式”,而用户输入直接在【文本模式】。更无须涉及HTML的闭合。。
3、如果要折腾的话,写个正则吧,可以检查(匹配)HTML的合法性

1、用户是要保留HTML代码编辑功能?一般用户都是不懂html的,更加不熟悉DIV布局;
2、一般网站编辑器都有“文本模式”(默认)和“代码模式”,而用户输入直接在【文本模式】。更无须涉及HTML的闭合。。
3、如果要折腾的话,写个正则吧,可以检查(匹配)HTML的合法性

我是担心有些用户会直接把Word中的代码,帖到我WEB的在线编辑器中,然后我读的时候,会因为粘帖中的某些代码,破坏我原有的HTML样式。