1. 程式人生 > >preg_replace()函式的e修飾符在新版本的php7.0中過時了

preg_replace()函式的e修飾符在新版本的php7.0中過時了

這是原來過濾微信呢稱的程式碼。

function getNickname($nickname){
    $tmpStr = preg_replace("#(\\\ud[0-9a-f]{3})|(\\\ue[0-9a-f]{3})#ie","",json_encode($nickname)); //將emoji的unicode置為空,其他不動
    $rs = json_decode($tmpStr, true);
    return $rs;
}


替換成下面這樣即可
function getNickname($nickname)
{
    $tmpStr = preg_replace_callback("#(\\\ud[0-9a-f]{3})|(\\\ue[0-9a-f]{3})#i",function ($m) {
        return "";
    },json_encode($nickname)); //將emoji的unicode置為空,其他不動
    $rs = json_decode($tmpStr, true);
    return $rs;

}