我希望对 HTML 进行一些基本的清理。基本上想创建一个允许的标签白名单并拒绝任何其他标签。
在这种情况下,Hpricot 值得吗?它是否有一个我忽略的功能可以避免我重写轮子?或者最好只使用正则表达式编写标签白名单并通过它处理 HTML 文档?
正则表达式对于 HTML 来说真的很棘手,我知道很多专家都严格反对它——我只是在寻找阻力最小的途径。
最佳答案
阻力最小的路径乍一看似乎是一个正则表达式,但是当您通过它输入更多文本时,您会意识到它一次又一次地中断并为您做更多的工作。这就是为什么有经验的程序员知道使用 XML/DOM 解析器来解决这种常见问题的原因。
我建议您使用 Nokogiri 而不是 Hpricot,因为它更快且维护得更好。
https://github.com/rgrove/sanitize/
Sanitize 使用 Nokogiri 来完成您正在做的事情。
关于html - Ruby:清理 HTML,使用 Hpricot 还是仅使用正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5544734/