Introduction to PHP substr_replace()
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.
Syntax of PHP substr_replace()
Following is a 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.
- The replacement starts from the given position from the starting of the input string if the $st parameter is a positive number.
- The replacement starts from the given position from the end of the input string if the $st parameter is a negative number.
- If this $st parameter is 0 then the replacement takes place from the first character of the specified string.
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.
- This parameter describes the length of the piece of $str which needs to be replaced if the $len is positive.
- This gives us the total number of characters where the replacement needs to be stopped from the end of the string when the $len is negative.
- Instead of insertion, a replacement is done If this $len value is 0.
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.
Examples to Implement PHP substr_replace()
Below are the examples mentioned:
<?php echo substr_replace("Example for ","substring",8); ?>
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.
<?php echo substr_replace("Example for","substring",-3); ?>
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.
<?php $replace = array("1: Try","2: Try","3: Try two"); echo implode("\n",substr_replace($replace,'Done',3,3)); ?>
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.
<?php echo substr_replace("Example insert", "to ", 8, 0); ?>
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.
<?php echo substr_replace("dress", "gu", 0, 2); ?>
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”.
<?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"; ?>
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’.
<?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"; ?>
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.
This is a guide to PHP substr_replace(). Here we discuss an introduction to PHP substr_replace(), syntax with 7 different examples for better understanding. You can also go through our other related articles to learn more –