首页 > 代码库 > preg_replace_callback使用方法

preg_replace_callback使用方法

官网解释:

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

(PHP 4 >= 4.0.5, PHP 5)

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

作为程序,这个时候,亲测比看文字介绍要管用的多

实例:

<?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);?>

具体应用:

class StringUtil {    function replaceAll($sTemplate ) {        $resp = preg_replace_callback(            ‘/\{(.*?)}/‘            ,function ($matches) {                if (2 == count($matches)) {                    return $this->$matches[1] ;                } else {                    return "" ;                }            }            ,$sTemplate        ) ;        return $resp ;    }}function _test() {    $sql_t = "select t_id, ware_name from dyw_ware where t_id = {t_id} {orderby}" ;    $obj = new StringUtil() ;    $obj->t_id = 101 ;    $obj->orderby = "order by t_id desc" ;    $sql =  $obj->replaceAll($sql_t) ;    echo "<br/>".$sql ;}_test() ;

 

preg_replace_callback使用方法