preg_replace_callback()

returnpreg_replace($pattern,$replace,$source);现在preg_replace已经废弃了这句怎么改我直接改成returnpreg... return preg_replace($pattern, $replace, $source);
现在preg_replace已经废弃了 这句怎么改 我直接改成return preg_replace_callback()($pattern, $replace, $source);会报错:preg_replace_callback(): Requires argument 2, 'replace', to be a valid callback
展开
 我来答
睡着的糖葫芦
推荐于2016-06-08 · TA获得超过124个赞
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:149万
展开全部

preg_replace_callback 第二个参数 为一个回调函数

例子

$string  =  'April 15, 2003' ;
$pattern  =  '/(\w+) (\d+), (\d+)/i' ;
$replacement  =  '${1}1,$3' ;
echo  preg_replace ( $pattern ,  $replacement ,  $string );

如果用preg_replace_callback 函数 改写为

$string  =  'April 15, 2003' ;
$pattern  =  '/(\w+) (\d+), (\d+)/i' ;
echo preg_replace_callback($pattern,  function($matches){
return  $matches[1].','.$matches[3];
} , $string);
琏塉皼酠
2014-11-10 · TA获得超过786个赞
知道答主
回答量:195
采纳率:100%
帮助的人:64.3万
展开全部
preg_replace_callback 执行一个正则表达式搜索并且使用一个回调进行替换
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);?>望采纳 Thx

求采纳为满意回答。
追问
请直接回答我这句怎么改好吗 我刚接触PHP 上手就是项目 直接点回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式