PHP 字符串 substr_replace() 函数

2024年9月4日 | 3 分钟阅读

substr_replace 是 PHP 的内置函数,用于在字符串中将字符串的一部分替换为另一个文本。PHP 4+ 版本支持此函数。原始字符串中的索引作为参数传递,替换将在此处进行。字符串数组也可以作为参数传递给此函数,在这种情况下,每次都会对每个字符串进行替换(参见示例 5)。

注意:substr_replace() 是一个二进制安全函数。

语法

下面给出了 substr_replace() 的语法,它接受四个参数。

参数

substr_replace() 包含四个参数,其中三个参数是必传的,而 $length 参数是可选的。所有这些参数将在下面详细讨论。

$string (必需) - 这是此函数的主要字符串参数,它指定要进行替换的输入字符串。这是一个必需参数。

$replacement (必需) - 它是 substr_replace() 的必需参数,它指定要插入的字符串。$replacement 包含将要替换的字符串。

$start (必需) - 它也是一个必需参数,指定替换开始的位置。此参数保存整数值。此参数有三种情况。

  • 如果 $start 中传递的值是正数,则替换从字符串中指定的位置开始。
  • 如果 $start 具有负值,则替换从字符串末尾的指定位置开始。
  • 如果 $start 为 0,则替换将从字符串的第一个字符开始。

$length (可选) - 它是此函数的可选参数,指定要替换字符串中的多少个字符。如果 substr_replace() 中未传递 $length 参数,则替换在字符串末尾停止。此参数也有三种情况。

  • 如果 $length 值为正数,则将给定长度的字符串替换为新字符串。
  • 如果 $length 为负数,则替换字符串后末尾应保留的字符数。
  • 如果 $length 为 0,则执行插入而不是替换。

返回值

substr_replace() 在替换完成后返回一个字符串。如果字符串是一个数组,则它返回一个数组。

ChangeLog

从 PHP 4.3.3 开始,所有参数都接受数组。

示例

下面给出了一些示例,通过这些示例我们可以学习 substr_replace() 函数的实际实现。

示例 1

输出

在上面的示例中,替换从第 6 个位置开始。"earth" 被替换为 "javatpoint"。

Hello javatpoint

示例 2

输出

在上面的示例中,在第一种情况下,替换从第 6 个位置开始。在第二种情况下,传递了负值,因此替换在字符串末尾的第 10 个位置完成。

Hello PHP
Hello PHP

示例 3

输出

在上面的示例中,我们使用了第四个 $length 参数,其值传递为 0。因此,插入了字符串 "Hello" 而不是替换。

Hello PHP!

示例 4

输出

Welcome to javatpoint

示例 5:一次替换多个字符串

输出

X: BBBB; Y: BBBB; Z: BBBB
X: XXXX; Y: YYYY; Z: ZZZZ
X: XXXXAA; Y: YYYYA; Z: ZZZZ

注意:Implode() 函数在此处用于数组到字符串的转换。


下一个主题PHP 字符串函数