让我们想象一下这种情况: 在您的网站中,您允许您的用户发布html(当然您必须了解安全问题)。您的用户发布信息:
<div> Main div <div> child div </div>
。
忘记关闭主要div。 当我提供包含错误html的帖子的页面时,我会发送一个混乱的页面。
是否有某种方式或html标记来&#34;封装&#34;或者隔离页面中的部分html并让用户对自己的广告负责?我们的想法是实施一个广告系统,允许用户设计自己的广告。
在设计我自己的页面时,这对于隔离错误也很有用。
非常感谢你。
答案 0 :(得分:6)
是否有某种方法或html标记来“封装”或隔离页面中的部分html并让用户对自己的广告负责?
您可以使用iframe
来执行此操作。
或者:浏览器非常容忍破坏的HTML,您可以使用浏览器进行清理。
例如:
var str = "<div>This is broken HTML<div>missing end tags";
var e = document.createElement('div');
e.innerHTML = str; // Parse it
str = e.innerHTML; // Serialize it properly
当我使用字符串<div>This is broken HTML<div>missing end tags
运行时,我会回来:
<div>This is broken HTML<div>missing end tags</div></div>
某些浏览器可能会使代码全部上限。
或者,使用像JSoup这样的服务器端解决方案(您也可以使用它来清理输入;非常有用!)。你没有提到服务器端语言; JSoup与任何基于JVM的语言兼容,我希望到现在有其他平台的翻译......
答案 1 :(得分:0)
答案 2 :(得分:0)
我在我的一个项目中使用CKEditor。
我认为普通用户不会浪费时间处理正确的HTML编码。他们中的大多数人甚至都不懂HTML。
根据我运营的一个分类广告网站的观察结果,用户只需剪切并粘贴广告已发布到的其他网站的广告。如果使用CKEditor从HTML页面剪切和粘贴内容,它就会完全按照原样显示。