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

Как нормализовать unicode строку (алфавиты и спец. символы)?

Например, мне нужно определить, содержит ли строка в utf-8 слово "лопата". Вроде бы ничего сложного, если бы не:
1. Одинаковые буквы из разных алфавитов. В данном случае буквы "о" и "а" могут быть латинскими. Кириллица и латиница - это ведь еще не всё?
2. Специальные unicode символы. Пробел нулевой ширины \u200b, символы направления текста (bidi) и пр.

Как с этим справиться? Метод normalize из intl не поможет. Что-то можно заменить вручную (вырезать некоторые спец. символы), заменить алфавиты, но всего же не предусмотреть. Существует ли какое-нибудь готовое решение или комплекс из нескольких решений?
  • Вопрос задан
  • 392 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
@shagguboy
несуществует за полной ненадобностью.
Ответ написан
Комментировать
27cm
@27cm
TODO: Написать статус
но всего же не предусмотреть

Ещё как предусмотреть. Достаточно удалить всё, кроме списка разрешенных символов. Всё решение в одно регулярное выражение.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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