2010-11-23 22 views
5

Tengo una página de la lista artículo, se tiene que mostrar algo de información sobre el contenido de este Artile, si yo sólo usocómo lograr extraer texto en rieles?

truncate @article.content,:length=>100 

se mostrará cierta etiqueta html, y no mostró la realidad de contenido de usuario, por lo Quiero encontrar alguna manera de extraer el texto del contenido, así que quiero preguntar si hay alguna forma integrada para lograrlo.

Respuesta

7

usted podría utilizar strip_tags para eliminar las etiquetas HTML:

truncate(strip_tags(@article.content), :length=>100) 
0
  1. todas las cadenas en RoR3 son desinfectados de manera predeterminada la conversión de caracteres especiales en entidades HTML.
  2. Si desea conservar los datos de la presentación de usuario (como el formato de un blog) se puede utilizar un lib como Nokogiri para validar el código HTML truncada, algo a lo largo de las líneas. =

    def html_preserving_truncate(data); html = truncate(data, lenght: 100); Nokogiri::HTML.fragment(html).to_s; end