preg_replace_callback函数

本文详细介绍了 PHP 中的 preg_replace_callback 函数,通过一个示例展示了如何使用该函数执行正则表达式搜索并利用回调函数进行替换操作。特别说明了函数的参数及其用法,并给出一个具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义和用法

 执行一个正则表达式搜索并且使用一个回调进行替换

语法

preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

参数解析

参数描述
pattern要搜索的模式,可以是字符串或一个字符串数组
callback 一个回调函数,在每次需要替换时调用,调用时函数得到的参数是从subject 中匹配到的结果。回调函数返回真正参与替换的字符串
subject要搜索替换的目标字符串或字符串数组

示例

<?php
    $text = "April fools day is 04/01/2002\n";
    $text.= "Last christmas was 12/24/2001\n";
    
    // 回调函数
    function next_year($matches){
        // 通常: $matches[0]是完成的匹配
        // $matches[1]是第一个捕获子组的匹配
        // 以此类推
        return $matches[1].($matches[2]+1);
    }
    
    echo preg_replace_callback(
            "|(\d{2}/\d{2}/)(\d{4})|",
            "next_year",
            $text);
?>

输出

April fools day is 04/01/2003 Last christmas was 12/24/2002


本文转自 素颜猪 51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1896251
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值