Einfache Strings für SEO-freundliche URLs vorbereiten

Es werden alle Sonderzeichen aus dem String entfernt. Umlaute werden in AE, OE und UE etc., das ß in SS umgewandelt. 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.

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!

veröffentlicht am 26.03.2008 um 23:00 von Martin Labuschin in ,

Hat dir der Artikel gefallen?

Das "return callname" kann man sich doch garantiert sparen, oder? :)

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 ...

Schreib’ einen Kommentar

Du kannst dich hier frei zum Thema äußern, jedoch solltest du dich dabei fair gegenüber den anderen Lesern, Dritten und dem Autor verhalten. Private Mitteilungen an Martin bitte per E-Mail an martin@labuschin.com. Danke.

wird nicht veröffentlicht

optional

URLs werden automatisch verlinkt
HTML ist nicht erlaubt

oder Abbrechen Speichert ... Speichert ...

The Ruby on Rails Link Library Spanning Sync SEO-Dokumentation Netzwerk Münsterland
Blogs Bücher Frameworks iPhone Mac Web-Apps