我在使用第三方API时出现问题,这会引发以下PHP错误
preg_replace(): Compilation failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 42 in /.../SoapClient.php on line 20
有人可以帮我低估这个正则表达式的含义,
[\x{0}-\x{8}\x{B}-\x{C}\x{E}-\x{1F}\x{D800}-\x{DFFF}]
这是它试图匹配的值
5f42caa3-1f41-4ff3-8b6c-3f79e45ed0f1
这是API中的代码位,
$result = preg_replace('/[\x{0}-\x{8}\x{B}-\x{C}\x{E}-\x{1F}\x{D800}-\x{DFFF}]/u', '', $result);
更新
顺便说一下,我在互联网上发现“Re”中的“D”代表“E”会修复这个问题,并且超越它确实解决了这个问题,
新RegEx,
[\x{0}-\x{8}\x{B}-\x{C}\x{E}-\x{1F}\x{E800}-\x{EFFF}]
但我不知道它是否真的有效,所以我的问题仍然有效。