如果用户忘记关闭html标签,有什么方法可以关闭吗?例如。当用户输入是:Rails - 在表单中输入html时关闭html标签
<b>small</b><i>test
是否有Rails的一种自动添加结束</i>
标签,让所有以下HTML不会是斜体?
我用.html_safe
来解释所有的html,但我也想终止<i>
。
如果用户忘记关闭html标签,有什么方法可以关闭吗?例如。当用户输入是:Rails - 在表单中输入html时关闭html标签
<b>small</b><i>test
是否有Rails的一种自动添加结束</i>
标签,让所有以下HTML不会是斜体?
我用.html_safe
来解释所有的html,但我也想终止<i>
。
Rails不能这样对你。
你可以使用像Haml或Slim这样的模板系统不要忘记。
你也可以用你自己的编辑器来做。
Rails的没有任何内置的能力做到这一点,但是你有两个选择:
gem install nokogiri
)使用nokogori你可以简单地做到:
html = "<b>small</b><i>test"
clean = Nokogiri::HTML::DocumentFragment.parse(html).to_html
# clean = "<b>small</b><i>test</i>"
你知道在用户输入中使用'.html_safe'是非常不安全的吗?尝试阅读[Cross-site scripting(XSS)](http://en.wikipedia.org/wiki/Cross-site_scripting)。 – Mischa 2012-03-08 08:36:03