PHP preg_replace() 函数

2024 年 8 月 29 日 | 阅读 3 分钟

preg_replace() 函数是 PHP 的一个内置函数。它用于执行正则表达式搜索和替换。

此函数在 subject 参数中搜索 pattern,并用 replacement 替换它们。

语法

参数

此函数接受五个参数,描述如下

pattern

此参数可以是字符串或字符串数组。它包含要在 subject 参数中搜索的模式。

replacement

它是字符串或字符串数组参数。此参数替换 subject 参数中匹配的模式。这是一个必需的参数。

  • 如果 replacement 参数是字符串,而 pattern 参数是数组,则所有模式都将被该字符串替换。
  • 如果 replacement 和 pattern 参数都是数组,则每个模式都将被其对应的 replacement 替换。
  • 如果 replacement 数组的元素少于 pattern 数组,则任何额外的模式都将被替换为空字符串。

subject(主题)

subject 参数也可以是字符串或字符串数组,用于搜索和替换。

如果 subject 是数组,则搜索和替换将对 subject 的每个条目执行,返回值也将是数组。

limit

limit 是一个可选参数,用于指定每个模式的最大可能替换次数。默认值limit 为 -1,表示无限制。

count

这是一个可选参数。如果传递此参数,此变量将包含执行的替换次数。此参数是在PHP 5.1.0 中添加的。

返回值

如果 subject 参数是数组,preg_replace() 函数将返回一个数组,否则返回一个字符串。

  • 替换完成后,将返回修改后的字符串。
  • 如果未找到任何匹配项,则字符串将保持不变。

示例

简单替换

请参阅详细示例,以实际了解 preg_replace() 函数。

使用反向引用后跟数字字面量的示例

输出

May 5, 2020 

去除空格的示例

在下面的示例中,preg_replace() 会从给定字符串中删除所有多余的空格。

输出

Camila Cabello is a Hollywood singer. 

使用索引数组的示例

此示例将包含一个要用 replacement 数组替换的 pattern 数组。

输出

String after replacement: The fox brown quick runs away from the zoo.

在上面的示例中,我们可以看到输出与我们想要的并不相同。因此,通过在使用 preg_replace() 之前对 patterns 和 replacements 应用 ksort(),我们可以得到想要的结果。

输出

String after replacement using ksort: The quick brown fox runs away from the zoo.

下一个主题PHP isset() 函数