强制HTML段中的结束标记或忽略丢失的结束标记

时间:2009-08-22 13:08:36

标签: html rss rendering

当创建显示较大html doc(前x个字符)的子集的rss feed时,我遇到了一些问题,其中一些标签以“前x个字符”开头,但结尾标记在该范围之外。如果Feed的使用者尝试在Feed中呈现html,这可能会导致一些有趣的问题,因为它可能会在显示Feed的页面中导致意外的渲染问题。

我认为这是一个常见的问题,很快以前RSS编辑和读者解决了,但我似乎无法弄清楚如何实现它,而不是试图解析Feed中的html并添加丢失的结束标记变得凌乱。任何建议将不胜感激。提前谢谢。

克里斯

3 个答案:

答案 0 :(得分:0)

如果你使用php,一个很好的解决方案是HTMLPurifier。它将清理它并使其完全安全地重新传输。

答案 1 :(得分:0)

不确定这是否适合您的项目,但我在FeedDemon中使用HTML Tidy

答案 2 :(得分:0)

较大的文件来自哪里?如果存在生成HTML的源文本,那么很多更容易截断它并从截断版本重新生成HTML,而不是处理部分HTML的问题。要完全正确地执行此操作,您基本上需要重新解析并重新序列化HTML。

无论如何,RSS里面的HTML仍然很麻烦。你可能最好剥离所有标签,然后在剩下的内容上做一个简单的文本截断。