Replace preg_replace() to preg_replace_callback() [duplicate]

半城伤御伤魂 提交于 2019-11-26 21:54:25

问题


This question already has an answer here:

  • Replace preg_replace() e modifier with preg_replace_callback 3 answers
$source = preg_replace('/&#(\d+);/me', "utf8_encode(chr(\\1))", $source);

The above code gives deprecated warning.

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in 

How can I replace preg_replace() to preg_replace_callback() ?


回答1:


Read the documentation here, http://www.php.net/manual/en/function.preg-replace-callback.php

Here is an example of preg_replace_callback

$source = preg_replace_callback('/&#(\d+);/m', function($matches){
   return utf8_encode(chr($matches[1]));
}, $source);



回答2:


$source = preg_replace_callback
(
    '/\&\#(\d+)\;/m',
    function($match){
        return utf8_encode(chr($match[1]));
    },
    $source
);


来源:https://stackoverflow.com/questions/23498399/replace-preg-replace-to-preg-replace-callback

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!