strtr
(PHP 4, PHP 5, PHP 7)
strtr — Tauscht Zeichen aus oder ersetzt Zeichenketten
Beschreibung
$str
, string $from
, string $to
) : string$str
, array $replace_pairs
) : string
Diese Funktion gibt eine Kopie von str
zurück, in der
alle Vorkommen jedes Zeichens von from
in das
korrespondierende Zeichen in to
umgewandelt wurden.
Mit drei Argumenten gibt diese Funktion eine Kopie von
str
zurück, in der alle Vorkommen jedes
(single-byte) Zeichens von from
in das
korrespondierende Zeichen in to
übersetzt wurden;
d. h. jedes Vorkommen von $from[$n] wurde ersetzt durch
$to[$n], wobei $n ein gültiger Offset
in beiden Argumenten ist.
Haben from
und to
eine
unterschiedliche Länge, werden die überzähligen Zeichen im jeweils
längeren Parameter ignoriert. Die Länge von str
wird
die gleiche wie die des Rückgabewertes sein.
Wurden zwei Argumente übergeben, sollte das zweite ein array in der Form array('from' => 'to', ...) sein. Der Rückgabewert ist ein string in dem alle Vorkommen der Array Schlüssel durch die entsprechenden Werte ersetzt wurden. Die längsten Schlüssel werden zuerst getestet werden. Wurde eine Teilzeichenkette ersetzt, wird ihr neuer Wert nicht nochmals durchsucht.
In diesem Fall können die Schlüssel und Werte beliebige Längen haben,
vorausgesetzt, es gibt keinen leeren Schlüssel; zusätzlich kann die Länge
des Rückgabewertes von der de str
abweichen.
Diese Funktion ist jedoch dann am effizientesten, wenn alle Schlüssel die
gleiche Größe besitzen.
Parameter-Liste
-
str
-
Der String, in dem die Ersetzungen vorgenommen werden sollen.
-
from
-
Der String, der gegen
to
ausgetauscht werden soll. -
to
-
Der String, der
from
ersetzen soll. -
replace_pairs
-
Der
replace_pairs
-Parameter kann anstatt der Parameterto
undfrom
verwendet werden. In diesem Fall muss ein array in der Form array('von' => 'nach', ...) übergeben werden.
Rückgabewerte
Gibt den übersetzten string zurück.
Wenn replace_pairs
einen Schlüssel enthält, der
ein leerer string ("") ist, wird
FALSE
zurückgegeben. Ist str
kein Skalar, dann wird
er nicht in eine Zeichenkette umgewandelt; statt dessen wird eine Warnung
erzeugt und NULL
zurückgegeben.
Beispiele
Beispiel #1 strtr()-Beispiel
//In dieser Form, strtr() übersetzt byte-zu-byte
//Daher gehen wir hier von einer single-byte Kodierung aus.
<?php
$addr = strtr($addr, "äåö", "aao");
?>
Das nächste Beispiel zeigt das Verhalten von strtr(), aufgerufen mit nur zwei Argumenten. Beachten Sie den Vorrang der Ersetzungen ("h" wird nicht gewählt, da es längere Übereinstimmungen gibt) und dass der ersetzte Text nicht erneut durchsucht wurde.
Beispiel #2 strtr()-Beispiel mit zwei Argumenten
<?php
$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
hello all, I said hi
Die zwei Verhaltensweisen unterscheiden sich wesentlich. Mit 3 Argumenten esetzt strtr() Bytes; mit zweien kann sie längere Teilzeichenketten ersetzen.
Beispiel #3 strtr() Vergleich der Verhaltensweisen
<?php
echo strtr("baab", "ab", "01"),"\n";
$trans = array("ab" => "01");
echo strtr("baab", $trans);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
1001 ba01
Siehe auch
- str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
- preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-strtr.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.