Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung und Unterschied zwischen den String-Ersetzungsfunktionen strtr() und str_repalce() in PHP

Verwendung und Unterschied zwischen den String-Ersetzungsfunktionen strtr() und str_repalce() in PHP

墨辰丷
墨辰丷Original
2018-05-30 14:44:001851Durchsuche

Zu den Ersetzungsfunktionen in PHP gehören hauptsächlich strtr() und str_repalce(). Der Artikel stellt sie im Detail anhand von Beispielcode vor Folgen Sie dem Herausgeber, um gemeinsam zu lernen.

Lassen Sie uns zunächst einen Blick auf die beiden Verwendungsmöglichkeiten dieser PHP-String-Ersetzungsfunktion strtr() werfen:

strtr(string,from,to) oder strtr(string,array) Konzentrieren Sie sich zunächst auf die erste strtr-Funktion Methode:

Schauen wir uns das folgende Beispiel an:

<?php
echo strtr("I Love you","Lo","lO");
?>

Das Ergebnis ist: Ich liebe dich

Dieses Ergebnis erinnert uns:

1.strtr Es wird zwischen Groß- und Kleinschreibung unterschieden

2. Das Ersetzen von strtr ist etwas ganz Besonderes. Das O in der Mitte ist offensichtlich nicht unsere Absicht.

Geben Sie ein weiteres besonderes Beispiel, um die Verrücktheit dieser PHP-STTR-Funktion zu veranschaulichen

<?php
echo strtr("I Love you","Love","");
?>

Das Ergebnis ist: Ich liebe dich

Da sich nichts ändert, muss strtr auf Folgendes achten:

3. Es kann nicht durch leer ersetzt werden, das heißt, der letzte Parameter darf natürlich keine leere Zeichenfolge sein sind erlaubt.

Ein weiteres Beispiel für die strtr-Funktion:

<?php
echo strtr("I Loves you","Love","lOvEA");
?>

Das Ergebnis ist: I lOvEs yOu

Beachten Sie, dass A im dritten Parameter erscheint nicht im Ergebnis.

4. Ich empfehle nicht, strtr zu verwenden, um weniger gegen mehr einzutauschen.

OK, da diese Strtr-Funktion ziemlich mühsam ist, warum verwenden Sie sie immer noch?

Der Grund ist, dass es schnell ist. Es wird gesagt, dass strtr viermal schneller ist als str_replace.

5. Verwenden Sie unbedingt die Strtr-Funktion, wenn Sie können.

Wie verwende ich es bequem?

Dies ist der zweite Fall:

strtr(string,array)

6.strtr Absichtliche Verwendung Methode

<?php
$table_change = array(&#39;you&#39;=>&#39;her sister&#39;);
echo strtr("I Love you",$table_change);
?>

Das Ergebnis ist: Ich liebe ihre Schwester

7. Tipps: Ersetzen Sie einfach alles, was Sie dem hinzufügen möchten array

Zum Beispiel:

<?php
$table_change = array(&#39;you&#39;=>&#39;her sister&#39;);
$table_change += array(&#39;Love&#39; => &#39;hate&#39;);
echo strtr("I Love you",$table_change);
?>

Das Ergebnis ist: Ich hasse ihre Schwester

Let Ich erinnere Sie noch einmal daran, dass es nicht funktionieren wird, Liebe als Liebe zu schreiben.

String-Ersatz.

Syntax: string str_replace(string Needle, string str, string haystack);<code>string str_replace(string needle, string str, string haystack);<br>

Rückgabewert: string

Funktionstyp: Datenverarbeitung

Inhaltsbeschreibung:

Diese Funktion ersetzt den String str durch den Heuhaufen-String und alle Nadeln durch str.

Das folgende Beispiel ersetzt %body% durch schwarz

<?php
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
echo $bodytag;
?>

Format:

[@str_replace("Alter Inhalt, der ersetzt werden soll", "Neue Zeichen sollen den ursprünglichen Inhalt ersetzen", $Variablenname des ersetzten Inhalts)]

[@str_replace(array('old1','old2','old3'), array('new1','new2','new3'), $Der Variablenname des ersetzten Inhalts)]

[@str_replace(array('old1','old2','old3'), 'new content', $variable name des ersetzten Inhalts)]

Beispiel:

Viele-zu-eins-Ersetzung: Ich möchte alle e388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a3-Tags im Inhaltsfeld löschen und durch Leere [ @str_replace(array('e388a4556c0f65e1904146cc1a846bee','94b3e26ee717c64999d7867364b1b4a3'), '', $Content) ersetzen ]

Eins-zu-eins-Ersetzung: Ich möchte alle 0c6dc11e160d3b678d68754cc175188a-Tags im Inhaltsfeld durch e388a4556c0f65e1904146cc1a846bee ersetzen.@str_replace('0c6dc11e160d3b678d68754cc175188a', 'e388a4556c0f65e1904146cc1a846bee', $Content)

Viele-zu-viele-Ersetzung : Ich möchte 0c6dc11e160d3b678d68754cc175188a im Inhaltsfeld durch df250b2156c434f3390392d09b1c9563 ersetzen, e388a4556c0f65e1904146cc1a846bee ersetzen und alles 94b3e26ee717c64999d7867364b1b4a3 löschen 🎜 >

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. @str_replace(array('0c6dc11e160d3b678d68754cc175188a', 'e388a4556c0f65e1904146cc1a846bee','94b3e26ee717c64999d7867364b1b4a3') array('df250b2156c434f3390392d09b1c9563','f32b48428a809b51f04d3228cdf461fa',''), $Content)

Verwandte Empfehlungen:


So ermitteln Sie die Dauer einer Audiodatei mit PHP

PHP implementiert die Methode zum Lesen von XML-Dateien

PHP-Methode zur Einschränkung des IP-Zugriffs_
php

Tricks


Das obige ist der detaillierte Inhalt vonVerwendung und Unterschied zwischen den String-Ersetzungsfunktionen strtr() und str_repalce() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn