PHP 7 中的 Preg_replace_callback_array()


PHP 7 中的 Preg_replace_callback_array() 函数表示正则表达式,并替换了回调的使用。此函数返回一个字符串或字符串数组,以匹配一组正则表达式并使用回调函数替换它们。

语法

preg_replace_callback_array(patterns, input, limit, count)

参数值

  • pattern − 它需要一个关联数组来将正则表达式模式与回调函数关联。
  • input/subject − 它需要一个字符串数组来执行替换。
  • limit −它是可选的。-1 用于默认值,这意味着它是无限的。它设置每个字符串中可以执行多少次替换的限制。
  • count −它也像 limit 一样是可选的。此变量将包含一个数字,指示函数执行后执行了多少次替换。
  • flags −它可以是 preg_offset_capture 和 preg_unmatched_as_null 标志的组合,这些标志会影响匹配数组的格式。
  • 返回值 −preg_replace_callback_array() 返回一个字符串或字符串数组。如果发现错误,则它将返回空值。如果找到匹配项,则将返回新的主题,否则,将返回未更改的主题。

Preg_replace_callback_array():示例

在线演示

<html>
<head>
<title> PHP 7 Featuretutorialpoint:</title>
</head>
<body>
<?php
   $subject = 'AaaaaaaBbbbCccc';
   preg_replace_callback_array (
      [
         '~[a]+~i' => function ($match) {
            echo strlen($match[0]), ' number of "a" found', PHP_EOL;
         },
         '~[b]+~i' => function ($match) {
            echo strlen($match[0]), ' number of "b" found', PHP_EOL;
         },
         '~[c]+~i' => function ($match) {
            echo strlen($match[0]), ' number of "c" found', PHP_EOL;
         }
      ],
      $subject
   );
?>
</body>
</html>

输出

上述程序代码的输出为:

7 number of "a" found
4 number of "b" found
5 number of "c" found

更新于: 2021-03-13

232 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告