preg_replace出错

时间:2016-03-10 21:03:59

标签: php preg-replace php-7

我有这样的代码。我认为这只是关于PHP5 / PHP7兼容性问题

 function EncodeQ ($str, $position = 'text') {
    $encoded = preg_replace("[\r\n]", '', $str);
    switch (strtolower($position)) {
      case 'phrase':
        $encoded = preg_replace("/([^A-Za-z0-9!*+\/ -])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded);
        break;
      case 'comment':
        $encoded = preg_replace("/([\(\)\"])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded);
      case 'text':
      default:
        $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e',
              "'='.sprintf('%02X', ord('\\1'))", $encoded);
        break;
    }

    $encoded = str_replace(' ', '_', $encoded);

    return $encoded;
  }

请帮我修复代码,错误如下

  

preg_replace():不推荐使用/ e修饰符,而是使用preg_replace_callback

0 个答案:

没有答案