Hi,
ich will einem gegebenen Text nur bis zu einer maximalen Anzahl von
Zeichen darstellen, also den Text ggf. kürzen. An sich ist das mit
truncate aus dem TextHelper ein No-Brainer, würde die Methode auch
die Integrität der Wörter im Text beachten und nicht einfach nur
abschneiden. Was mir vorschwebt ist in etwa dies:
text = “Lorem ipsum dolor sit amet, consectetur adipisici elit, sed
eiusmod tempor incidunt ut labore et dolore magna aliqua.”
truncate_but_keep_words_intact(text, 15, “…”)
=> “Lorem ipsum…”
Kennt jemand eine smarte Methode dies zu erreichen?
Thanx
Torsten
Von Hand:
den Index des Textes durchgehen, bis 15 (in diesem Fall),
abfragen ob das Zeichen an der aktuellen Stelle gleich " " ist und
wieder rückwärts zählen bis das der Fall ist. Von 0 bis hier abschneiden
und die drei Pünktchen dransetzen, fertig.
Gruß,
Raphael
Hatte ich auch schon gefunden - hier lässt sich aber “nur” die Anzahl
der Wörter, nicht die der Zeichen festlegen 
Am 10.10.2007 um 21:49 schrieb Jan P.:
Werd ich so machen (müssen), dachte nur, dass es was schlankeres
dafür geben würde…
Thanx
Torsten
Am 10.10.2007 um 21:45 schrieb Raphael J. Schmid:
http://snippets.dzone.com/posts/show/804
Gruß
Jan
Am 10.10.07 schrieb Raphael J. Schmid [email protected]:
abschneiden. Was mir vorschwebt ist in etwa dies:
Torsten
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
–
Jan P.
Rechtsanwalt
Grünebergstraße 38
22763 Hamburg
Tel +49 (0)40 41265809 Fax +49 (0)40 380178-73022
Mobil +49 (0)171 3516667
http://www.inviado.de
Ok. Der Richtigkeit wegen.
http://daniel.collectiveidea.com/blog/2007/7/10/a-prettier-truncate-helper
Interessanterweise ist der Beitrag exakt von heute. Hatte wohl ein
Kollege das heute hinzugefügt. 
Torsten Oettel schrieb:
Ich weiss nicht mehr woher ich es habe. Habe ich lokal in einer Sammlung
der vershciedensten Snippets.
Aber sollte genau das machen was du suchst.
# Awesome truncate
# First regex truncates to the length, plus the rest of that word,
if any.
# Second regex removes any trailing whitespace or punctuation
(except ;).
# Unlike the regular truncate method, this avoids the problem with
cutting
# in the middle of an entity ex.: truncate(“this & that”,9) =>
“this &am…”
# though it will not be the exact length.
def awesome_truncate(text, length = 30, truncate_string = “…”)
return if text.nil?
l = length - truncate_string.chars.length
text.chars.length > length ? text[/\A.{#{l}}\w*;?/m][/.*[\w;]/m]
- truncate_string : text
end
HTH
Daniel
Torsten Oettel schrieb:
Am 10.10.2007 um 23:09 schrieb Daniel W.:
Ok. Der Richtigkeit wegen.
http://daniel.collectiveidea.com/blog/2007/7/10/a-prettier-truncate-
helper
Interessanterweise ist der Beitrag exakt von heute. Hatte wohl ein
Kollege das heute hinzugefügt. 
Da weise ich doch gleich noch auf meinen Einzeiler hin:
http://tomk32.de/2007/08/01/texte-abkuerzen-mit-ruby/
ciao, tom
–
Thomas R. “TomK32” Koll <> http://tomk32.de <> http://kampodscha.com
just a geek trying to change the world
Hey vielen Dank - sind alles interessante und smarte! Approaches 
Hab selber auch noch einen entdeckt, der Sinn macht, falls man mal
was anderes als ein " " als Seperator haben sollte:
http://dev.rubyonrails.org/ticket/8682
Thanx & Greetz
Torsten
Am 11.10.2007 um 09:15 schrieb Thomas R. Koll:
Hallo zusammen,
wenn auch sehr kurzfristig möchte ich auf diesem Wege die Treffen der
RuRUG bekannt geben.
Termine:
Jeden zweiten Donnerstag im Monat von 19 - 21 Uhr.
* 11.10.2007
* 08.11.2007
* 13.12.2007
Weitere Infos unter http://www.rurug.de
Gruß Christof