The substr_replace() is another built-in function of PHP which is used for replacing a piece of one string with another string. Based on the input parameter which requires the index with which the replacement of the string has to be done needs to be passed. We can also provide the length till which index the replacement needs to be done. To replace each of the strings we can provide an array of strings as part of the input parameter to the function.
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
Following is a syntax:
Syntax:
substr_replace($str, $replace, $st, $len)
As shown in the above syntax, this function accepts 4 parameters out of which the first 3 arguments are mandatory and the last parameter is optional. And they are as below:
1. $str: This is a mandatory parameter and this is the input string where the replacement has to be made.
2. $replace: This is another mandatory parameter and this is the input string that replaces the $str parameter.
3. $st: This is also a mandatory parameter and indicates the index position from where the replacement needs to be started from.
4. $len: This one is an optional parameter which gives us the number of characters which should be replaced. If this $len parameter is not given then the replacement will automatically stop at the end of $str.
Return Values: The value returned is the string that is generated after being replaced as per the above parameters. If the case is of an array of strings, then the entire array is returned.
Below are the examples mentioned:
Code:
<?php echo substr_replace("Example for ","substring",8); ?>
Output:
Explanation: In this basic example, we can see that by using substr_replace function we are replacing the first string “Example for ” by the “substring” at the exact position given by the 3rd parameter i.e at the 8th position. Hence in the output exactly after 8th position the word “for” is replaced by “substring” word.
Code:
<?php echo substr_replace("Example for","substring",-3); ?>
Output:
Explanation: In this example, we are showing the functionality of the -3 in the position parameter. This minus sign represents that the function should start replacing the word starting from the back. Hence this starts replacing the second parameter in place of first string from 3rd position starting the count from backward.
Code:
<?php $replace = array("1: Try","2: Try","3: Try two"); echo implode("\n",substr_replace($replace,'Done',3,3)); ?>
Output:
Explanation: In this example, we are replacing multiple strings declared inside the array at once. With the substr_replace function, we are replacing the word “Try” with the word “Done” in the starting first 3 positions.
Code:
<?php echo substr_replace("Example insert", "to ", 8, 0); ?>
Output:
Explanation: In this example, we are showing how to use the substr_replace to perform an insert since the replace parameter is set to 0. Hence in this example, only the insertion takes place and there will be no replacement of strings as shown in the output. The second parameter “to” will be inserted at the position specified I.e, starting at 8th position.
Code:
<?php echo substr_replace("dress", "gu", 0, 2); ?>
Output:
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.
The above is the detailed content of PHP substr_replace(). For more information, please follow other related articles on the PHP Chinese website!