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 →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com