Substr_replace() ist eine weitere integrierte Funktion von PHP, die zum Ersetzen eines Teils einer Zeichenfolge durch eine andere Zeichenfolge verwendet wird. Basierend auf dem Eingabeparameter muss der Index übergeben werden, mit dem die Ersetzung des Strings erfolgen soll. Wir können auch die Länge angeben, bis zu der der Index ersetzt werden muss. Um jede der Zeichenfolgen zu ersetzen, können wir ein Array von Zeichenfolgen als Teil des Eingabeparameters für die Funktion bereitstellen.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Es folgt eine Syntax:
Syntax:
substr_replace($str, $replace, $st, $len)
Wie in der obigen Syntax gezeigt, akzeptiert diese Funktion 4 Parameter, von denen die ersten 3 Argumente obligatorisch und der letzte Parameter optional ist. Und sie sind wie folgt:
1. $str: Dies ist ein obligatorischer Parameter und die Eingabezeichenfolge, in der die Ersetzung vorgenommen werden muss.
2. $replace: Dies ist ein weiterer obligatorischer Parameter und die Eingabezeichenfolge, die den $str-Parameter ersetzt.
3. $st: Dies ist ebenfalls ein obligatorischer Parameter und gibt die Indexposition an, von der aus mit der Ersetzung begonnen werden muss.
4. $len: Dies ist ein optionaler Parameter, der uns die Anzahl der Zeichen angibt, die ersetzt werden sollen. Wenn dieser $len-Parameter nicht angegeben ist, stoppt die Ersetzung automatisch am Ende von $str.
Rückgabewerte: Der zurückgegebene Wert ist die Zeichenfolge, die nach dem Ersetzen gemäß den oben genannten Parametern generiert wird. Wenn es sich um ein Array von Zeichenfolgen handelt, wird das gesamte Array zurückgegeben.
Im Folgenden finden Sie die genannten Beispiele:
Code:
<?php echo substr_replace("Example for ","substring",8); ?>
Ausgabe:
Erklärung: In diesem einfachen Beispiel können wir sehen, dass wir durch die Verwendung der substr_replace-Funktion die erste Zeichenfolge „Beispiel für“ durch die „Teilzeichenfolge“ an der genauen Position ersetzen, die durch den dritten Parameter angegeben ist, d. h. bei den 8. Platz. Daher wird in der Ausgabe genau nach der 8. Position das Wort „for“ durch das Wort „substring“ ersetzt.
Code:
<?php echo substr_replace("Example for","substring",-3); ?>
Ausgabe:
Erklärung: In diesem Beispiel zeigen wir die Funktionalität von -3 im Positionsparameter. Dieses Minuszeichen bedeutet, dass die Funktion beginnen soll, das Wort von hinten zu ersetzen. Daher wird ab der dritten Position der zweite Parameter anstelle der ersten Zeichenfolge ersetzt, wobei die Zählung von hinten beginnt.
Code:
<?php $replace = array("1: Try","2: Try","3: Try two"); echo implode("\n",substr_replace($replace,'Done',3,3)); ?>
Ausgabe:
Erklärung: In diesem Beispiel ersetzen wir mehrere im Array deklarierte Zeichenfolgen gleichzeitig. Mit der Funktion substr_replace ersetzen wir das Wort „Try“ durch das Wort „Done“ an den ersten drei Positionen.
Code:
<?php echo substr_replace("Example insert", "to ", 8, 0); ?>
Ausgabe:
Erklärung: In diesem Beispiel zeigen wir, wie man substr_replace verwendet, um eine Einfügung durchzuführen, da der Ersetzungsparameter auf 0 gesetzt ist. Daher findet in diesem Beispiel nur die Einfügung statt, und das wird auch so sein Kein Ersetzen von Zeichenfolgen, wie in der Ausgabe gezeigt. Der zweite Parameter „to“ wird an der angegebenen Position eingefügt, d. h. beginnend an der 8. Position.
Code:
<?php echo substr_replace("dress", "gu", 0, 2); ?>
Ausgabe:
Explanation: In this example, we will specify the length parameter as 2 hence the substr_replace will start replacing the input string starting from the $start parameter which is 0 until 2. Hence from the word “dress”, the first 2 letters will be replaced by “gu” hence becoming “guess”.
Code:
<?php $str = 'Example:/Replace/'; echo "First: $str\n"; // The below 2 displayy the replacement of our input string with 'test' echo substr_replace($str, 'test', 0) . "\n"; echo substr_replace($str, 'test', 0, strlen($str)) . "\n"; // Here we are inserting the word test at the starting of the string echo substr_replace($str, 'test', 0, 0) . "\n"; // The below 2 will replace the string "Replace" from input string in $str with 'test' echo substr_replace($str, 'test', 9, -1) . "\n"; echo substr_replace($str, 'test', -6, -1) . "\n"; // Here we are deleting "Replace" from the input string echo substr_replace($str, '', 7, -1) . "\n"; ?>
Output:
Explanation: In this example, we are first declaring an input string $str upon which all the operations of the function are going to be performed. In the first part of operation, we are replacing the string completely with the given string as we are specifying both starts as 0. In the second part, we are replacing the “Replace” of the input string with the ‘test’.
Code:
<?php $ip = array('1: PPP', '2: RRR', '3: SSS'); // A basic example where we are replacing all 3 letters of input string with TTT echo implode('; ', substr_replace($ip, 'TTT', 3, 3))."\n"; // Another case where we are replacing the input string with the different inputs as given below $replace = array('DDD', 'EEE', 'FFF'); echo implode('; ', substr_replace($ip, $replace, 3, 3))."\n"; // In this case we are replacing all the input characters with 3 different characters $length = array(1, 2, 3); echo implode('; ', substr_replace($ip, $replace, 3, $length))."\n"; ?>
Output:
Explanation: In this example, we are showing the use of substr_replace function for replacing multiple strings as shown in input $ip.
Hence this function is used for replacing one string with another string based on the parameters specified. The same can also be used for inserting strings as required when the $start and $length parameter are given in 0 or negative values.
Das obige ist der detaillierte Inhalt vonPHP substr_replace(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!