<%= form_for @post.comments.new do |f| %>
Name:<%= f.text_field :name %><br/>
Email:<%= f.text_field :email %><br/>
Body:<%= f.text_area :content %><br/>
<%= submit_tag "Comment" %>
<% end %>
我需要删除/删除/清理<script>..</script>
和<style>..</style>
代码。
其他选项是如果有任何脚本,样式标签,那么输入字段将被视为空。然后评论将不会被保存。
如何删除这些标签及其中的代码?我怎样才能删除html标签以及html标签内的内容?
答案 0 :(得分:9)
我一直在使用消毒剂来达到这个目的。它一直很好用。
为您的应用添加常量:
YourApp::SANITIZE_FILTER = {
:remove_contents => ['script']
}
然后你可以添加一个辅助方法:
def sanitize_content(content)
content = Sanitize.clean(content, YourApp::SANITIZE_FILTER)
end
答案 1 :(得分:6)
据我所知,Rails 3中没有任何东西可以做到这一点。使用sanitize gem。
将gem 'sanitize'
添加到您的Gemfile中,然后运行bundle install
。仅此一点应该这样做。
答案 2 :(得分:2)
string = '<span id="span_is"><br><br><u><i>Hi</i></u></span>'
strip_tags(string) #This Will give you "Hi"