PHP preg_replace_callback() 函数
示例
计算句子中所有单词的字母数
<?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;
?>
自己动手试一试 »
定义和用法
给定一个表达式和一个回调函数,preg_replace_callback()
函数返回一个字符串,其中表达式的所有匹配项都将被回调函数返回的子字符串替换。
语法
preg_replace_callback(pattern, callback, input, limit, count)
参数值
参数 | 描述 |
---|---|
pattern | 必需。一个正则表达式或正则表达式数组,用于指示要搜索的内容 |
替换 | 必需。一个返回替换内容的函数(回调函数)。 回调函数有一个参数,包含一个匹配项数组。数组中的第一个元素包含整个表达式的匹配项,而其余元素包含表达式中每个分组的匹配项。 |
input | 必需。执行替换的字符串或字符串数组 |
limit | 可选。默认为 -1,表示不限制。设置在每个字符串中可以执行的替换次数 |
count | 可选。函数执行后,此变量将包含一个数字,指示执行了多少次替换 |
技术详情
返回值 | 返回一个字符串或字符串数组,这些字符串是通过将替换应用于输入字符串或字符串而获得的。 |
---|---|
PHP 版本 | 4.0.5+ |
更新日志 | PHP 5.1.0 - 添加了 count 参数 |
❮ PHP 正则表达式参考