如果用戶忘記關閉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