String mit Javascript in URL-Slug umwandeln

Das habe ich bereits mit Ruby gelöst. 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.

function create_callname(string) {
	// Autor: Martin Labuschin
	// Erstellt am 9. November 2009
	// 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.
	// Hinweis: Es wird nur Plaintext erwartet

	callname = string;
	callname = callname.toLowerCase();
	callname = callname.replace(/ä/g,"ae");
	callname = callname.replace(/ü/g,"ue");
	callname = callname.replace(/ö/g,"oe");
	callname = callname.replace(/ß/g,"ss");
	callname = callname.replace(/[^a-z0-9]+/g, '-');
	callname = callname.replace(/(^[-]+|[-]+$)/g, '');
	return callname;
}

Update 11.11.2009, 18:30: Die Funktion untersucht den String nun vollständig rekursiv. Auch Sonderzeichen und mehrere Leerzeichen werden rekursiv ersetzt. Dies geschieht mithilfe des /g-Operators.

veröffentlicht am 09.11.2009 um 09:58 von Martin Labuschin in


blog comments powered by Disqus
The Ruby on Rails Link Library Spanning Sync SEO-Dokumentation Gowalla
ProWebApps WellDone (β) Pinboard (α) Netzwerk Münsterland
Blogs Bücher Frameworks iPhone Mac Web-Apps