关于thinkhphp3.1中废弃 preg_replace /e 修饰符
警告:preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
网上查了下 发现 php5.5版本以上 就废弃了 preg_replace 函数中 /e 这个修饰符
/e 这个修饰符的意思 就是让 正则替换的 时候 替换规则 支持 php 代码
解决方案:只要 把 preg_replace 里面 有 /e 修饰符的代码 修改成 preg_replace _callback 然后重新写下就好了
最简单的 写法:
preg_replace("/([A-Z])/e", "'_' . strtolower('\\1')", $str)
修改成
preg_replace("/([A-Z])/",'gwyy', $str); //在类中时写成:['gwyy'] 替换成 array($this,'gwyy')
function gwyy($match) {
return '_'.strtolower($match[1]);
}
preg_replace_callback('/([A-Z])/', function ($matches) {
return '_' . strtolower($matches[0]);
}, $str)
使用了 类里面的自定义方法:
$that = $this; //这里 用 $that 代替 $this;
$patterns = '/'.$begin.$parseTag.$n1.'\/(\s*?)'.$end.'/is';
$content=preg_replace_callback($patterns, function($matches) use($tagLib,$tag,$that){
return $that->parseXmlTag($tagLib, $tag, $matches[1], '');
}, $content);
最新文章
- 使用git从服务器下载已存在的项目文件
- 「Mobile Testing Summit China 2016」 中国移动互联网测试大会-议题征集
- YSLOW
- Redis安装及配置(Linux)
- 2016 Multi-University Training Contest 4 Bubble Sort(树状数组模板)
- 安装Win7和Office2010并激活
- IOS 学习笔记 2015-04-09 0C-SQLite 数据存储
- shell脚本练习(短路练习)
- 【IOS开发】《多线程编程指南》笔记
- 归并排序及优化(Java实现)
- [转帖]前端-chromeF12 谷歌开发者工具详解 Sources篇
- Android获取通讯录并上传(包含通讯录加密)
- 主席树 || 可持久化线段树 || BZOJ 3653: 谈笑风生 || Luogu P3899 [湖南集训]谈笑风生
- Python yaml处理
- 《Python》网络编程基础
- <;meta http-equiv=";X-UA-Compatible"; content=";ie=edge";>;的意思
- win10,python连接mysql报&rdquo;Can't connect to MySQL server on 'localhost' (10061)&rdquo;
- HDU P2222 Keywords Search
- leetcode442
- Webstorm常用快捷键备忘(Webstorm入门指南)