preg_replace_callback_array Perform a regular expression search and replace using callbacks

发表日期:2021-07-01 08:56:56 | 来源: | | 浏览(860) 分类:PCRE 函数

preg_replace_callback_array

(PHP 7, PHP 8)

preg_replace_callback_arrayPerform a regular expression search and replace using callbacks

说明

preg_replace_callback_array(
    array $pattern,
    string|array $subject,
    int $limit = -1,
    int &$count = null,
    int $flags = 0
): string|array|null

The behavior of this function is similar to preg_replace_callback(), except that callbacks are executed on a per-pattern basis.

参数

pattern

An associative array mapping patterns (keys) to callables (values).

subject

The string or an array with strings to search and replace.

limit

The maximum possible replacements for each pattern in each subject string. Defaults to -1 (no limit).

count

If specified, this variable will be filled with the number of replacements done.

flags

flags can be a combination of the PREG_OFFSET_CAPTURE and PREG_UNMATCHED_AS_NULL flags, which influence the format of the matches array. See the description in preg_match() for more details.

返回值

preg_replace_callback_array() returns an array if the subject parameter is an array, or a string otherwise. On errors the return value is null

If matches are found, the new subject will be returned, otherwise subject will be returned unchanged.

更新日志

版本 说明
7.4.0 The flags parameter was added.

范例

示例 #1 preg_replace_callback_array() example

<?php 
$subject = 'Aaaaaa Bbb';
preg_replace_callback_array(    [        '~[a]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
        }
,        '~[b]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
        }
    ],    $subject);
?>

以上例程会输出:

6 matches for "a" found
3 matches for "b" found

参见

  • PCRE Patterns
  • preg_replace_callback() - 执行一个正则表达式搜索并且使用一个回调进行替换
  • preg_quote() - 转义正则表达式字符
  • preg_replace() - 执行一个正则表达式的搜索和替换
  • preg_last_error() - 返回最后一个PCRE正则执行产生的错误代码
  • Anonymous functions

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。