我正在工作中做一个古老的项目,得到一堆这样的东西:
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead看第74行:
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\\1',{$lo})",$str);我怎样才能把它转换成使用新的回呼呢?
发布于 2016-01-06 16:17:46
很容易。
$str = preg_replace_callback('/&#(\d+);/', function($m) use ($lo) {
return code2utf($m[1],$lo);
}, $str);这里最重要的是use ($lo),因为它允许您将$lo变量“导入”到回调中。
我还清理了你的正则表达式-太多反斜杠;)
https://stackoverflow.com/questions/34637670
复制相似问题