preg_replace_callback
执行一个正则表达式搜索并且使用一个回调进行替换
preg_replace_callback()
函数给定一个表达式和一个回调函数,返回一个字符串,其中表达式的所有匹配项都被回调函数返回的子字符串替换。
计算句子中所有单词的字母数:
<?php function countLetters($matches) { return $matches[0] . '(' . strlen($matches[0]) . ')'; } $input = "Welcome to W3School.com.cn!"; $pattern = '/[a-z0-9\.]+/i'; $result = preg_replace_callback($pattern, 'countLetters', $input); echo $result; ?>
亲自试一试
preg_replace_callback(pattern, replacements, input, limit, count)
参数 | 描述 |
---|---|
pattern | 必需。指示要搜索的内容的正则表达式或正则表达式数组。 |
replacements |
必需的。一个返回替换项的回调函数。 回调函数有一个参数,该参数包含一个匹配项的数组。 数组的第一个元素包含整个表达式的匹配项,而其余元素则包含表达式中每个组的匹配项。 |
input | 必需。在其上进行替换的字符串或字符串数组。 |
limit |
可选。默认为 -1,表示无限制。 设置在每个字符串中可以进行的替换次数的限制。 |
count | 可选。函数执行后,此变量将包含一个数字,指示进行了多少次替换。 |