扫码关注官方订阅号
preg_replace函数可以根据一个正则来匹配替换,而且可以指定次数,现在我有个需求是这样的,我想替换指定的匹配的第n次来替换,比如一个字符串,我写了一个正则,这个字符串总共能匹配出三处,然后我只想替换匹配出的第二次该怎么办?php有没有这样的实现?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
直接上代码吧:
$i=1; $result = preg_replace_callback('/a/',function($match)use(&$i){ $match = $i != 2 ? $match[0] : ''; $i++; return $match; },'a1a2a3a4'); var_dump($result);
使用preg_replace_callback使用方法请参考手册
可以用preg_replace_callback来处理,他调用其他函数来处理替换,你可以自己处理替换的逻辑
preg_replace_callback
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
直接上代码吧:
使用preg_replace_callback
使用方法请参考手册
可以用
preg_replace_callback来处理,他调用其他函数来处理替换,你可以自己处理替换的逻辑