substr_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_replace替換字符串的子串

說(shuō)明

substr_replace(
    mixed $string,
    mixed $replacement,
    mixed $start,
    mixed $length = ?
): mixed

substr_replace() 在字符串 string 的副本中將由 start 和可選的 length 參數(shù)限定的子字符串使用 replacement 進(jìn)行替換。

參數(shù)

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ù),替換將從 stringstart 位置開(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 插入到 stringstart 位置處。

返回值

返回結(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'0strlen($var)) . "<br />\n";

/* 將 “bob” 插入到 $var 的開(kāi)頭處。*/
echo substr_replace($var'bob'00) . "<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'33))."\n";

// A more complicated case where each replacement is different.
$replace = array('AAA''BBB''CCC');
echo 
implode('; 'substr_replace($input$replace33))."\n";

// Replace a different number of characters each time.
$length = array(123);
echo 
implode('; 'substr_replace($input$replace3$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ì)象。

參見(jiàn)