Replace text within a portion of a string

substr_count
substr
String Functions
PHP Manual

# substr_replace

(PHP 4, PHP 5)

substr_replace — Replace text within a portion of a string

### Description

mixed substr_replace ( mixed `$string` , mixed `$replacement` , mixed `$start` [, mixed `$length` ] )

substr_replace() replaces a copy of `string` delimited by the `start` and (optionally) `length` parameters with the string given in `replacement`.

### Parameters

`string`

  The input string.

  An array of strings can be provided, in which case the replacements will occur on each string in turn. In this case, the `replacement`, `start` and `length` parameters may be provided either as scalar values to be applied to each input string in turn, or as arrays, in which case the corresponding array element will be used for each input string.

`replacement`

  The replacement string.

`start`

  If `start` is positive, the replacing will begin at the `start`'th offset into `string`.

  If `start` is negative, the replacing will begin at the `start`'th character from the end of `string`.

`length`

  If given and is positive, it represents the length of the portion of `string` which is to be replaced. If it is negative, it represents the number of characters from the end of `string` at which to stop replacing. If it is not given, then it will default to strlen( `string` ); i.e. end the replacing at the end of `string`. Of course, if `length` is zero then this function will have the effect of inserting `replacement` into `string` at the given `start` offset.

### Return Values

The result string is returned. If `string` is an array then array is returned.

### Changelog

Version | Description
--- | ---
4.3.3 | All parameters now accept arrays.

### Examples

Example #1 Simple substr_replace() examples

`<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
/* These two examples replace all of $var with 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
/* Insert 'bob' right at the beginning of $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
/* These next two replace 'MNRPQR' in $var with 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
/* Delete 'MNRPQR' from $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>`

Example #2 Using substr_replace() to replace multiple strings at once

`<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');
// A simple case: replace XXX in each string with YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";
// A more complicated case where each replacement is different.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";
// Replace a different number of characters each time.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>`

The above example will output:

    A: YYY; B: YYY; C: YYY
    A: AAA; B: BBB; C: CCC
    A: AAAXX; B: BBBX; C: CCC

### Notes

> Note: This function is binary-safe.

### See Also

- str_replace() - Replace all occurrences of the search string with the replacement string
- substr() - Return part of a string
- String access and modification by character

substr_count
substr
String Functions
PHP Manual