Php/func regex preg replace callback

来自菜鸟教程
跳转至:导航、​搜索

PHP preg_replace_callback()函数

Reg PHP RegExp参考

计算句子中所有单词的字母:

<?php

  function countLetters($matches) {
  return $matches[0] . '(' . 
  strlen($matches[0]) . ')';
}

$input = "Welcome to W3Schools.com!";

  $pattern = '/[a-z0-9\.]+/i';
$result = preg_replace_callback($pattern, 
  'countLetters', $input);
echo $result;
?>

定义和用法

The preg_replace_callback() 给定一个表达式和一个回调函数的函数将返回一个字符串,该表达式的所有匹配项都将被该回调函数返回的子字符串替换。

句法

preg_replace_callback(pattern, callback, input, limit, count)

参数值

参数 描述
pattern 需要。表示要搜索内容的正则表达式或正则表达式数组
replacements 需要。一个返回替换的回调函数。


回调函数有一个包含匹配数组的参数。数组中的第一个元素包含整个表达式的匹配项,而其余元素具有表达式中每个组的匹配项。

input 需要。正在执行替换的字符串或字符串数​​组
limit 可选的。默认值为-1,表示无限制。设置每个字符串可以进行多少次替换的限制
count 可选的。函数执行后,此变量将包含一个数字,指示已执行了多少次替换

技术细节

返回值: 返回一个字符串或一个字符串数组,该字符串或字符串数​​组是通过将替换应用于一个或多个输入字符串而产生的。
PHP版本: 4.0.5+
更新日志: PHP 5.1.0-添加了count参数

Reg PHP RegExp参考