2

我无法弄清楚为什么在使用调试器运行脚本时会记录 E_ERROR - 因为当脚本正常运行时它不会出现在我的错误日志中,我会假设它是由调试器生成的。这是 E_ERROR:

source.php(1594) : regexp code  File /path/to/file(1594) : regexp code has no debug-info. Debugging is not possible.    E_ERROR

这些是第 1593 和 1594 行:

$encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e',
          "'='.sprintf('%02X', ord('\\1'))", $encoded);

感谢您的任何建议 - 我想目前我可以让这个无人看管,但试图确保。

4

1 回答 1

0

使用 preg_replace_callback()

$out = preg_replace_callback(
  '((?P<char>[\000-\011\013\014\016-\037\075\077\137\177-\377]))',
  function ($match) {
    return sprintf('=%02X', ord($match['char']));
  },
  $in
);
于 2013-11-06T09:32:07.997 回答