(PHP 4, PHP 5, PHP 7, PHP 8)
substr_replace — 替換字符串的子串
substr_replace() 在字符串 string
的副本中將由 start
和可選的 length
參數(shù)限定的子字符串使用 replacement
進(jìn)行替換。
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
替換字符串。
start
如果 start
為正數(shù),替換將從 string
的 start
位置開(kāi)始。
如果 start
為負(fù)數(shù),替換將從 string
的倒數(shù)第 start
個(gè)位置開(kāi)始。
length
如果設(shè)定了這個(gè)參數(shù)并且為正數(shù),表示 string
中被替換的子字符串的長(zhǎng)度。如果設(shè)定為負(fù)數(shù),它表示待替換的子字符串結(jié)尾處距離 string
末端的字符個(gè)數(shù)。如果沒(méi)有提供此參數(shù),那么它默認(rèn)為 strlen( string
) (字符串的長(zhǎng)度)。當(dāng)然,如果 length
為 0,那么這個(gè)函數(shù)的功能為將 replacement
插入到 string
的 start
位置處。
返回結(jié)果字符串。如果 string
是個(gè)數(shù)組,那么也將返回一個(gè)數(shù)組。
版本 | 說(shuō)明 |
---|---|
4.3.3 | All parameters now accept arrays. |
示例 #1 substr_replace() 范例
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
/* 這兩個(gè)例子使用 “bob” 替換整個(gè) $var。*/
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
/* 將 “bob” 插入到 $var 的開(kāi)頭處。*/
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
/* 下面兩個(gè)例子使用 “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";
?>
示例 #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";
?>
以上例程會(huì)輸出:
A: YYY; B: YYY; C: YYY A: AAA; B: BBB; C: CCC A: AAAXX; B: BBBX; C: CCC
注意: 此函數(shù)可安全用于二進(jìn)制對(duì)象。