PHP - Regex для замены всех вхождений многобайтовой поддержкой

0

mb_ereg_replace похоже, не поддерживает g модификатор. Есть ли способ найти и заменить все вхождения с поддержкой многобайтовых?

  • 0
    Как выглядит ваша команда mb_ereg_replace? У меня есть ощущение, что вы используете регулярное выражение в стиле preg.
  • 0
    нет, я не использую разделители
Теги:
unicode

1 ответ

1
Лучший ответ

Разве это не то, что он делает по умолчанию?

$original = html_entity_decode(
    'Бинокли', ENT_COMPAT, 'UTF-8'
);

mb_regex_encoding('UTF-8');
$replaced = mb_ereg_replace('и', '!', $original);

echo "Original: $original", PHP_EOL;
echo "Replaced: $replaced", PHP_EOL;

Вывод:

Original: Бинокли
Replaced: Б!нокл!
  • 0
    это не работает для sinhala, может быть, это просто проблема с индикатором Unicode Range.
  • 0
    Звучит странно. Можете ли вы обновить свой вопрос с примером кода, который не работает?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню