preg_replace(“”,function(){},text)类似的案例
时间: 2024-04-22 13:27:11 浏览: 9
`preg_replace_callback` 函数可以实现类似的功能。
它的用法是:
```php
preg_replace_callback( $pattern, $callback, $subject, $limit = -1, &$count = null )
```
其中,`$pattern` 是正则表达式,`$callback` 是回调函数,`$subject` 是待处理的字符串。当 `$subject` 中匹配到 `$pattern` 时,将会调用 `$callback` 函数来处理匹配到的部分。
下面是一个示例,将字符串中的数字替换成其平方:
```php
$str = "1 2 3 4 5";
$result = preg_replace_callback("/\d+/", function($match) {
return $match[0] * $match[0];
}, $str);
echo $result; // 输出:1 4 9 16 25
```
在上面的示例中,`$pattern` 是 `/\d+/`,表示匹配一个或多个数字。`$callback` 是一个匿名函数,使用 `$match[0]` 来获取匹配到的数字,再将其平方后返回。`$subject` 是 `"1 2 3 4 5"`,表示需要处理的字符串。
当 `preg_replace_callback` 函数执行时,会匹配到 `"1"`、`"2"`、`"3"`、`"4"` 和 `"5"` 这五个数字,然后分别调用 `$callback` 函数处理。最终,将会得到一个新的字符串 `"1 4 9 16 25"`。