Lerne mehr über Ruby on Rails mit Martin Labuschins
Ruby on Rails Link Library.
def create_callname(string) # Autor: Martin Labuschin # Erstellt am 27. März 2008 # Es werden alle Sonderzeichen aus dem String entfernt. Umlaute werden in AE, OE und UE etc., das ß in SS umgewandet. Alle Buchstaben werden in Minuskeln umgewandelt und alle Leerräume werden mit Minuszeichen gefüllt. Ein doppeltes Vorkommen, das Beginnen oder Beenden mit einem Minuszeichen wird verhindert. # BEMERKUNG: Es wird nur Plaintext erwartet callname = string.dup callname.gsub!(/[Ää]+/i,'ae') callname.gsub!(/[Üü]+/i,'ue') callname.gsub!(/[Öö]+/i,'oe') callname.gsub!(/[ß]+/i,'ss') callname.downcase! callname.gsub!(/[^a-z0-9]+/i, '-') callname.gsub!(/(^[-]+|[-]+$)/, '') return callname end
Verbesserunsvorschläge sind selbstverständlich gerne gesehen!
Hat dir der Artikel gefallen?
- Mehr lesen: Abonnier’ den Full-Feed
- Kurze URL: http://labuschin.com/341
Richtig. Find ich persönlich so aber schöner.
Jau und man kann das auch noch platzsparender machen, indem man die ganzen gsubs hintereinander hängt, also: gsub().gsub().gsub() ...
Peter, klar geht das. Aber ich hab's lieber übersichtlich und wartbarer. Kennst' das ja ...
Kristof Dreier
26.03.2008
Das "return callname" kann man sich doch garantiert sparen, oder? :)