Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Interception-String-Funktion strtr/str_replace
/**
* 1. strtr konvertiert das angegebene Zeichen
*
* string strtr ( string $str , string $from , string $to )
* string strtr ( string $str , array $replace_pairs )
*
* Diese Funktion gibt eine Kopie von str zurück und konvertiert die in from angegebenen Zeichen in die entsprechenden Zeichen in to.
* Wenn from und to nicht gleich lang sind, werden die zusätzlichen Zeichen ignoriert.
*/
$str = 'http://flyer0126.iteye.com/';
echo strtr($str, 'IT', 'java');
//output: http://flyer0126.iteye.com/ strtr unterscheidet zwischen Groß- und Kleinschreibung
//Wenn from und to nicht gleich lang sind, werden die zusätzlichen Zeichen ignoriert
echo strtr($str, 'it', 'java');
//Ausgabe: haap://flyer0126.jaeye.com/
//iteye --> jaeye es wird nur durch ja ersetzt
//http - -> haap ersetzt entsprechende Positionen Zeichen für Zeichen, was nicht unserer ursprünglichen Absicht entspricht
echo strtr($str, 'it', '');
//Ausgabe: http://flyer0126.iteye.com/ Kein Ersatz
echo strtr($str, 'it', ' ');
//Ausgabe: http://flyer0126.teye.com/ kann ersetzt werden durch
/**
* Eine Zusammenfassung der From->To-Methode der Funktion strtr:
* 1. Groß- und Kleinschreibung beachten
* 2. Wenn die Längen von form und to sind nicht gleich, überflüssige Zeichen werden ignoriert und können nicht durch mehr oder mehr durch weniger ersetzt werden;
* 3. Ersetzen Sie die entsprechenden Positionen Zeichen für Zeichen mit leer, kann durch Leerzeichen ersetzt werden.
*/
// Im Vergleich ist die letztere Methode offensichtlich geeigneter
$replace_pairs = array(
'http://'=>'' ,
'it' => 'java'
);
echo strtr($str, $replace_pairs);
//output : flyer0126.javaeye.com/ Der Ersatz war erfolgreich und entsprach der ursprünglichen Absicht des Ersatzes
/**
* 2. 函数 str_replace
* Mixed str_replace ( Mixed $search , Mixed $replace , Mixed $subject [, int &$count ] )
*/
echo str_replace('it', 'java', $str);
//output: http://flyer0126.javaeye.com/
echo str_replace(array('http' , ':', '//', '/'), '', $str);
//output: flyer0126.iteye.com
echo str_replace(array('http ', 'it', '/'), array('https', 'java', ''), $str);
//output: https:flyer0126. javaeye.com