In diesem Tutorial lernen Sie, wie Sie mit Hilfe der Funktion strtr() einzelne Zeichen einer Zeichenkette austauschen können, indem Sie eine Austauschliste (Array) verwenden. Dies dient beispielsweise dazu, um Umlaute in einem Text umzuwandeln. Die Funktion strtr() besitzt zwei Parameter. Dem ersten Parameter wird die Zeichenkette übergeben und der zweite Parameter erhält die Austauschliste, also das Array.
Die Syntax der Funktion strtr():
strtr(zeichenkette, austauschliste);
Beispiel 1:
<?php
/*
* Created on 31.12.2009 by Nico Schubert
*/
$alte_zeichenkette = 'Das ist ein Text mit vielen
Umlauten. Bei diesen Text werden mehere
Umlaute geändert. Hier sind die Umlaute:
ä,ö,ü,Ä,Ö,Ü,ß<br>';
$ersatz_zeichen = array('ä' => 'ae', 'ö' => 'oe');
$neue_zeichenkette = strtr($alte_zeichenkette,
$ersatz_zeichen);
echo $alte_zeichenkette;
echo $neue_zeichenkette;
?>
Ausgabe des Beispiels 1:
Das ist ein Text mit vielen Umlauten. Bei diesen Text werden mehrere Umlaute geändert. Hier sind die Umlaute: ä,ö,ü,Ä,Ö,Ü,ß
Das ist ein Text mit vielen Umlauten. Bei diesen Text werden mehrere Umlaute geaendert. Hier sind die Umlaute: ae,oe,ü,Ä,Ö,Ü,ß
Erklärung zu Beispiel 1:
Die Zeichenkette, die bearbeitet werden soll, wird in die Variable $alte_zeichenkette gespeichert. Anschließend wird mit Hilfe eines Arrays eine Austauschliste erstellt, in der das Umlaut „ä“ den Buchstaben „ae“ und das Umlaut „ö“ den Buchstaben „oe“ zugewiesen wird. Die Austauschliste wird in der Variable $ersatz_zeichen gespeichert.Nun wird der Funktion strtr() die Zeichenkette und die Austauschliste übergeben und das Ergebnis in einer Variable mit der Bezeichnung $neue_zeichenkette abgelegt. Zum Schluss werden die alte und die neue Zeichenkette mit echo ausgegeben.
Sie können mit der Funktion strtr() auch einzelne Zeichen austauschen, ohne eine Austauschliste zu verwenden. Schauen wir uns dazu das folgende Beispiel an.
Alternative Syntax der Funktion strtr():
strtr(zeichenkette, gesuchtes_zeichen, ersatz_zeichen)
Beispiel 2:
<?php
/*
* Created on 31.12.2009 by Nico Schubert
*/
$alte_zeichenkette = 'Jetzt ändern wir nur ein
Zeichen: ß.<br>';
$zeichen = 'ß';
$ersatz = 'ss';
$neue_zeichenkette = strtr($alte_zeichenkette,
$zeichen, $ersatz );
echo $alte_zeichenkette;
echo $neue_zeichenkette;
?>
Ausgabe des Beispiels 2:
Jetzt ändern wir nur ein Zeichen: ß.
Jetzt ändern wir nur ein Zeichen: s.
Erklärung zu Beispiel 2:
Der Funktion strtr() wird als zweiten Parameter das gesuchte Zeichen und als dritten Parameter das neue Zeichen übergeben. Dem ersten Parameter wird genau so wie zuvor die Zeichenkette übergeben. Die Funktion tauscht somit das gesuchte Zeichen mit dem neuen Zeichen aus und liefert die neue Zeichenkette als Ergebnis zurück.
Sie sollten auch strtr() mit str_replace() oder ereg_replace() vergleichen. Hier finden Sie auch noch ein nützlichen Artikel zu den Thema "Suchen und Ersetzen innerhalb von PHP".