是否可以使用strip_tags制作例外,例如:
strip_tags("<b>Bold</b> no more! <div>hellooo</div>", :except => "<strong>")
或更多标签
strip_tags("<b>Bold</b> no more! <div>hellooo</div>", :except => ["<strong>", "<div>"])
我想从<strong></strong>
标记以外的字符串中删除所有标记。
谢谢!
答案 0 :(得分:1)
直接使用Rails sanitize方法(这是strip_tags调用的方法)。
http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-sanitize
# Custom Use (only the mentioned tags and attributes are allowed, nothing else)
<%= sanitize @article.body, tags: %w(table tr td), attributes: %w(id class style) %>
答案 1 :(得分:1)
如果您希望这是全局的,请尝试将此代码添加到config / application.rb
class Application < Rails::Application
config.action_view.sanitized_allowed_tags = 'table', 'tr', 'td', 'strong', 'div'
end
您的方法调用将保持不变。
如果您希望每次通话,请查看以下答案:
Rails sanitize remove default allowed tags
在那里,你会创建一个新的帮助器方法,它会做同样的事情 - 但是所有额外的废话将在辅助方法中,而不是在每次调用时。