preg_replace_callback_array

(PHP 7)

preg_replace_callback_arrayPerform a regular expression search and replace using callbacks

说锟斤拷

preg_replace_callback_array ( array $patterns_and_callbacks , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed

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

锟斤拷锟斤拷

patterns_and_callbacks

An associative array mapping patterns (keys) to callbacks (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.

锟斤拷锟斤拷值

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.

锟斤拷锟斤拷

Example #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() - 锟斤拷锟斤拷锟斤拷锟揭伙拷锟絇CRE锟斤拷锟斤拷执锟叫诧拷锟斤拷锟侥达拷锟斤拷锟斤拷锟�
  • Anonymous functions
  • callback 锟斤拷锟酵碉拷锟斤拷息