为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用preg_replace_callback()改写这个函数?

如何使用preg_replace_callback()改写这个函数?

蛊毒传说 2019-04-09 20:25:38
最近的项目,在更新完PHP以后发现preg_replace()在5.5.0版本起/e修饰符已经被弃用了。然后不知道怎么改写$source_content=preg_replace($search.'e',"'".$this->_quote_replace($this->left_delimiter).'php'."'.str_repeat(\"\n\",substr_count('\\0',\"\n\")).'".$this->_quote_replace($this->right_delimiter)."'",$source_content);求大神指教
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

是preg_replace()的/e模式被废弃了,不是preg_replace()被废弃了好么!!请不要以偏概全的说话!!搞得我一开始都吓尿了,还以为PHP特么怎么这么随便呢。
preg_replace_callback()不是很简单么,就是用函数替换了用eval执行字符串啊。不过说老实话没怎么看明白你的替换执行函数到底要干嘛,好像是要根据换行符的个数重新写一遍换行??写个参考给你吧:
$source_content=preg_replace_callback($search,function($matches){
returnstr_repeat("\n",substr_count($matches[0],"\n");
},$cource_content);
函数的$matches参数就是你的$search匹配得到的结果,如果还是不懂还是看看手册吧,手册上已经写的很全了。
                            
查看完整回答
反对 回复 2019-04-09
  • 1 回答
  • 0 关注
  • 459 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信