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

Hat dir der Artikel gefallen?

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