[Ror-es] Función palabras largas

Gunnar Wolf
Fri Jan 8 04:10:26 GMT 2010


Valentin Palacios Mesa dijo [Fri, Jan 08, 2010 at 02:12:35AM +0100]:
> Seguramente no me he explicado bien. Yo me refería a una función que  
> de un texto detecte las palabras que, por ejemplo, tienen más de 60  
> caracteres (alguno por joder o semejante). Preguntaba si había alguna  
> función en rails que ya controlara eso.

Facilito :) Cosa de saber un poquito de Ruby, ¿no? Nada específico a
Rails. Digamos, si quieres que todas las palabras de más de 10
caracteres sean truncadas, indicándolo con un '(...)':

0 『1』~$ irb
irb(main):001:0> cadena = 'esta es una cadena con palabras, palabrotototas, palabrotototototototototototototototas - Aunque también una que otra palabrita, palabritita o palabrititititita'
=> "esta es una cadena con palabras, palabrotototas, palabrotototototototototototototototas - Aunque tambi\303\251n una que otra palabrita, palabritita o palabrititititita"
irb(main):002:0> puts cadena.split(/\s/).map {|word| \
irb(main):003:1* word.size > 10 ? word[0..10]+'(...)' : word}.join(' ')
esta es una cadena con palabras, palabrototo(...) palabrototo(...) - Aunque también una que otra palabrita, palabritita(...) o palabrititi(...)
=> nil
irb(main):004:0> 

-- 
Gunnar Wolf •  • (+52-55)5623-0154 / 1451-2244