замена нескольких символов utf-8 в php - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть строка с несколькими символами utf-8, которая выглядит следующим образом

\u00b4, \u2019, \u201b, \u2032

Я хочу заменить их следующим html-символом

'

Я использую следующий php-код для замены этих

$search  = "(\\u00b4|\\u2019|\\u201b|\\u2032)"; 
$replace = "'";

$result = preg_replace($search, $replace, $string);

Я получаю следующее предупреждение, и $ result is null

Warning:  preg_replace(): Compilation failed: PCRE does not support \\L, \\l, \\N, \\U, or \\u at offset 2 in /...

Понятия не имею, что делать. Будем благодарны за любые идеи о том, как продолжить замену этих символов utf8!

Ответы [ 2 ]

0 голосов
/ 03 сентября 2012
$unicode = "\u00b4 \u2019 \u201b \u2032";
$unicode = preg_replace('/\\\\u[^ ]+/im', "'\r\n", $unicode);
echo $unicode;

Вы не избежали обратной косой черты, вам нужно 2 дополнительных обратной косой черты:

\\\\
0 голосов
/ 14 декабря 2011

При выполнении предварительного сопоставления для определенных кодов символов необходимо использовать шестнадцатеричное представление \ x, а не Unicode - это похоже на значения Unicode.

$search  = "(\xb4|\x2019|\x201b|\x2032)"; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...