我们使用Sanitize gem和HTMLEntities的组合来清理用户输入HTML。 Sanitize宝石使用Hpricot,但现在使用Nokogiri。我需要从应用程序中取出Hpricot。
这是两个测试字符串,每个字符串后跟我期望的输出:
测试字符串1:
"SOME TEXT < '<span style='background-image: url(\"http://evil.ru/webbug.png\")'>MORE' & TEXT!!!</span>"
expected_text = "SOME TEXT < 'MORE' & TEXT!!!"
第二个测试字符串(路径略有不同):
'Support <i>odd</i> chars like " < \' ‽'
expected_text = 'Support <i>odd</i> chars like " < ' ‽'
这是你解决了吗?你用了什么工具?
答案 0 :(得分:2)
您可能想尝试丝瓜络宝石:
Loofah.document("SOME TEXT < '<span style='background-image: url(\"http://evil.ru/webbug.png\")'>MORE' & TEXT!!!</span>").to_html
=> "SOME TEXT MORE' & TEXT!!!"
由于某种原因,丝瓜不会在第二个例子中处理unicode字符,但如果你在丝瓜络上提交Github问题,我会很乐意调查它(完全披露:我是Loofah和co的作者 - Nokogiri的作者。)
更多链接: