PHP 菜鳥教程

PHP 高級(jí)教程

PHP & MySQL

PHP 參考手冊(cè)

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

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

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

語法

mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

這個(gè)函數(shù)的行為除了可以指定一個(gè) callback 替代 replacement 進(jìn)行替換字符串的計(jì)算,其他方面等同于 preg_replace()。

參數(shù)說明:

  • $pattern: 要搜索的模式,可以使字符串或一個(gè)字符串?dāng)?shù)組。

  • $callback: 一個(gè)回調(diào)函數(shù),在每次需要替換時(shí)調(diào)用,調(diào)用時(shí)函數(shù)得到的參數(shù)是從subject 中匹配到的結(jié)果。

  • $subject: 要搜索替換的目標(biāo)字符串或字符串?dāng)?shù)組。

  • $limit: 可選,對(duì)于每個(gè)模式用于每個(gè) subject 字符串的最大可替換次數(shù)。 默認(rèn)是-1(無限制)。

  • $count: 可選,為替換執(zhí)行的次數(shù)。

返回值

如果subject是一個(gè)數(shù)組, preg_replace_callback()返回一個(gè)數(shù)組,其他情況返回字符串。 錯(cuò)誤發(fā)生時(shí)返回 NULL。

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

在線示例

<?php
// 將文本中的年份增加一年.
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// 回調(diào)函數(shù)
function next_year($matches)
{
  // 通常: $matches[0]是完成的匹配
  // $matches[1]是第一個(gè)捕獲子組的匹配
  // 以此類推
  return $matches[1].($matches[2]+1);
}
echo preg_replace_callback(
            "|(\d{2}/\d{2}/)(\d{4})|",
            "next_year",
            $text);
 
?>

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

April fools day is 04/01/2003
Last christmas was 12/24/2002

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

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