PHP

substr_replace

substr_replace

(PHP 4, PHP 5, PHP 7)

substr_replace - 替换字符串的一部分内的文本

描述

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

substr_replace()用开始和(可选)长度参数分隔的字符串副本替换为替代字符串。

参数

string

输入字符串。

可以提供一组字符串,在这种情况下,替换将依次发生在每个字符串上。 在这种情况下,可以将替换参数,起始参数和长度参数作为依次应用于每个输入字符串的标量值或数组提供,在这种情况下,相应的数组元素将用于每个输入字符串。

replacement

替换字符串。

start

如果start是非负数,则替换将从起始偏移量开始,直到字符串中。

如果start是负值的,则替换将从字符串结尾开始的第一个字符处开始。

length

如果start给出并且是正值,它表示要被替换的字符串部分的长度。 如果为负值,则表示从停止替换的字符串末尾开始的字符数。 如果没有给出,那么它将默认为strlen(string); 即结束字符串结尾处的替换。 当然,如果长度为零,那么这个函数将在给定的起始偏移量处将替换插入到字符串中。

返回值

返回结果字符串。如果string是数组,则返回数组。

例子

示例#1 简单的substr_replace()示例

<?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"; ?>

示例#2 使用substr_replace()一次替换多个字符串

<?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

注意

注意:此功能是二进制安全的。

扩展内容

  • str_replace() - 用替换字符串替换所有出现的搜索字符串

  • substr() - 返回字符串的一部分

  • 按字符访问和修改字符串

← substr_count

substr →