Estou trabalhando com Ruby on Rails, existe uma maneira de tirar html
uma string usando o método sanitize ou equal e manter apenas o texto dentro do atributo value na tag de entrada?
html
ruby
string
ruby-on-rails-3
Mattias
fonte
fonte
text.strip
funcionaRespostas:
Há um
strip_tags
método emActionView::Helpers::SanitizeHelper
:http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-strip_tags
Edit: para colocar o texto dentro do atributo value, você pode usar algo como Nokogiri com uma expressão Xpath para tirar isso da string.
fonte
Se quisermos usar isso no modelo
que é o código no método "strip_tags"
fonte
require 'html/sanitizer'
e instanciar seu próprio desinfetante comHTML::FullSanitizer.new
.require 'html/sanitizer'
gera erro por isso tenho de usar:Rails::Html::FullSanitizer.new
( edgeapi.rubyonrails.org/classes/HTML/... )Sim, chame isso:
sanitize(html_string, tags:[])
fonte
A lista branca de tags e atributos pode ser especificada como abaixo
A instrução acima permite que as tags img , br e p e os atributos src e style .
fonte
Eu usei a biblioteca Loofah, pois é adequada para HTML e XML (documentos e fragmentos de string). É o mecanismo por trás da jóia do desinfetante html. Estou simplesmente colando o exemplo de código para mostrar como é simples de usar.
Loofah Gem
fonte
Que tal agora?
fonte
Rails::Html::FullSanitizer.new
se você não quiser especificar uma lista de permissões.