PHP 菜鳥教程

PHP 高級教程

PHP & MySQL

PHP 參考手冊

PHP preg_replace_callback_array() 函數(shù)用法及示例

PHP 正則表達(dá)式(PCRE)

preg_replace_callback_array 函數(shù)執(zhí)行一個正則表達(dá)式搜索并且使用一個回調(diào)進(jìn)行替換。

該函數(shù)在 PHP7+ 版本支持。

語法

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

函數(shù)類似于 preg_replace_callback(), 但它是基于每個模式匹配來回調(diào)函數(shù)進(jìn)行替換。

參數(shù)說明:

  • $patterns_and_callbacks: 關(guān)聯(lián)數(shù)組,key(模式) => value(回調(diào)函數(shù))

  • $subject: 要查找的和替換的字符串或數(shù)組。

  • $limit: 可選,每個模式最大的替換次數(shù),默認(rèn)為 -1(無限制,全部匹配完)。

  • $count: 可選,指定替換的次數(shù)。

返回值

如果 subject 是一個數(shù)組返回?cái)?shù)組,否則返回字符串。發(fā)生錯誤則返回 NULL。

如果查找到了匹配,返回替換后的目標(biāo)字符串(或字符串?dāng)?shù)組), 其他情況 subject 將會無變化返回。

在線示例

<?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
);
?>

執(zhí)行結(jié)果如下所示:

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

PHP 正則表達(dá)式(PCRE)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清