PHP preg_replace返回编译失败:PCRE 不支持



我正在尝试将preg_replace[^\u0000-\uFFFF]一起使用我不断得到

Compilation failed: PCRE does not support

我该怎么办?

PCRE 不支持uXXXX语法。请改用x{XXXX}。有关更多详细信息,正则表达式 Unicode

此外,您必须对引号内的反斜杠进行双重转义(或三重)以获得文字反斜杠: 示例如下:

'/\u([dw]{4})/'
"/\\u([dw]{4})/"

在您的情况下,正则表达式应该是[^\u0000-\uFFFF]

例:

$regex = '[^\u0000-\uFFFF]';
$text = 'some text';
$a = preg_match($regex, $text, $b);
//var_dump($a);
var_dump($b);
var_dump(preg_last_error());

上面的例子不会产生任何警告和错误

PCRE 不支持uXXXX语法。请改用x{XXXX}。参见: php - 正则表达式 - PCRE 不支持 \L, \l, \N, \P,

最新更新