zoukankan      html  css  js  c++  java
  • PHP preg_replace_callback() 函数

    preg_replace_callback 函数执行一个正则表达式搜索并且使用一个回调进行替换。高佣联盟 www.cgewang.com

    语法

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

    这个函数的行为除了可以指定一个 callback 替代 replacement 进行替换字符串的计算,其他方面等同于 preg_replace()。

    参数说明:

    • $pattern: 要搜索的模式,可以使字符串或一个字符串数组。

    • $callback: 一个回调函数,在每次需要替换时调用,调用时函数得到的参数是从subject 中匹配到的结果。

    • $subject: 要搜索替换的目标字符串或字符串数组。

    • $limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。

    • $count: 可选,为替换执行的次数。

    返回值

    如果subject是一个数组, preg_replace_callback()返回一个数组,其他情况返回字符串。 错误发生时返回 NULL。

    如果查找到了匹配,返回替换后的目标字符串(或字符串数组), 其他情况subject 将会无变化返回。

    实例

    实例 1

    <?php // 将文本中的年份增加一年. $text = "April fools day is 04/01/2002 "; $text.= "Last christmas was 12/24/2001 "; // 回调函数 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
  • 相关阅读:
    mybatis-generator自动生成dao,mapping,model
    cent os 6.5+ambari+HDP集群安装
    cent os 6.5 配置vsftpd
    Ambari修改主页面方法
    Maven .m2 epositoryjdk ools1.7 missing
    Chrome封掉不在chrome商店中的插件解决办法
    Hadoop 读取文件API报错
    Hadoop创建/删除文件夹出错
    mysql性能测试(索引)
    Greys--JVM异常诊断工具
  • 原文地址:https://www.cnblogs.com/yc10086/p/13156294.html
Copyright © 2011-2022 走看看