Tengo una página que enumerará artículos de noticias. Para reducir la longitud de la página, solo quiero mostrar un avance (las primeras 200 palabras/600 letras del artículo) y luego mostrar un enlace "más ..." que, al hacer clic, expandirá el resto del artículo en una forma jQuery/Javascript. Ahora, tengo todo lo que descubrí e incluso encontré el siguiente método de ayuda en una página de pegar, que asegurará que el artículo de noticias (cadena) no esté recortado justo en medio de una palabra:rails: obtener un avance/extracto de un artículo
def shorten (string, count = 30)
if string.length >= count
shortened = string[0, count]
splitted = shortened.split(/\s/)
words = splitted.length
splitted[0, words-1].join(" ") + ' ...'
else
string
end
end
El problema que tengo es que los cuerpos de los artículos de noticias que obtengo de la BD tienen formato HTML. Entonces, si no tengo suerte, el asistente anterior cortará mi cadena de artículos justo en el medio de una etiqueta html e insertará la cadena "más ..." allí (por ejemplo, entre ""), lo que dañará mi html en la página .
¿Hay alguna forma de evitar esto o hay un complemento que pueda usar para generar extractos/avances de una cadena HTML?
oh me gusta el tuyo, soluciona el problema con las etiquetas alrededor del texto – LDomagala