Задать вопрос
@Forman

Как сделать регистронезависимую замену?

Пример кода:
$text = JA Ja jA ja
$text = preg_replace('/ja/i', 'я', $text);

Результат выполнения:
я я я я

Нужно, чтобы было:
Я Я я я

Как это реализовать? Как сохранить регистронезависимость в символах, которые заменяют исходный текст?

Делать под каждый регистр - точно не вариант. Потому что таких сочетаний настолько много, что не сосчитать.
  • Вопрос задан
  • 433 просмотра
Подписаться 1 Сложный 9 комментариев
Решения вопроса 1
@ksnk
В регулярках есть глобальные и локальные флаги.
$text = 'JA Ja jA ja';
$text = preg_replace('/J(?i:a)/', 'Я', $text);
$text = preg_replace('/j(?i:a)/', 'я', $text);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nechin
@nechin
web backend developer
Задача не ясна. О каких сочетаниях речь? В примере одно, в требованиях другое. Почему бы не так:
$text = JA Ja jA ja;
$text = str_replace(['JA', 'Ja'], 'Я', $text);
$text = str_replace(['jA', 'ja'], 'я', $text);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы