substr_replace
(PHP 4, PHP 5, PHP 7)
substr_replace — 替换字符串的子串
说明
substr_replace() 在字符串 string
的副本中将由 start
和可选的 length
参数限定的子字符串使用 replacement
进行替换。
参数
-
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
andlength
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
-
替换字符串。
-
start
-
如果
start
为正数,替换将从string
的start
位置开始。如果
start
为负数,替换将从string
的倒数第start
个位置开始。 -
length
-
如果设定了这个参数并且为正数,表示
string
中被替换的子字符串的长度。如果设定为负数,它表示待替换的子字符串结尾处距离string
末端的字符个数。如果没有提供此参数,那么它默认为 strlen(string
) (字符串的长度)。当然,如果length
为 0,那么这个函数的功能为将replacement
插入到string
的start
位置处。
返回值
返回结果字符串。如果 string
是个数组,那么也将返回一个数组。
范例
Example #1 substr_replace() 范例
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
/* 这两个例子使用 “bob” 替换整个 $var。*/
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
/* 将 “bob” 插入到 $var 的开头处。*/
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
/* 下面两个例子使用 “bob” 替换 $var 中的 “MNRPQR”。*/
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
/* 从 $var 中删除 “MNRPQR”。*/
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";
?>
以上例程会输出:
A: YYY; B: YYY; C: YYY A: AAA; B: BBB; C: CCC A: AAAXX; B: BBBX; C: CCC
注释
Note: 此函数可安全用于二进制对象。