(PHP 4, PHP 5)
substr_replace — Replace text within a portion of a string
   substr_replace() replaces a copy of
   string delimited by the
   start and (optionally)
   length parameters with the string given in
   replacement. 
  
stringThe 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.
      
replacementThe 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.
      
   The result string is returned. If string is an
   array then array is returned.
  
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
Note: This function is binary-safe.