За последние 24 часа нас посетили 60810 программистов и 1743 робота. Сейчас ищет 951 программист ...

Проверка строки на мульти-алфавитность

Тема в разделе "PHP для новичков", создана пользователем sk-_-, 9 авг 2017.

  1. sk-_-

    sk-_- Новичок

    С нами с:
    9 авг 2017
    Сообщения:
    7
    Симпатии:
    2
    Здравствуйте. Такая проблема. Как точно распознать что строка мультиалфавитная? В данном случае проверка на русский и английский алфавит.

    Пример: аваROапт мультиалфавитная. Через регулярки пробовал, но то ли я дурак, то ли лыжи не едут получалось проверить только последовательно подстроки на мультиалфавитность. Например апвпавWWW проверить получалось, а авправROпвавпвпаWA не получалось
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    покажи наработки, юный спамер
     
  3. sk-_-

    sk-_- Новичок

    С нами с:
    9 авг 2017
    Сообщения:
    7
    Симпатии:
    2
    В принципе хватает, чтобы понять что в слове присутствует мультиалфавит, но думаю что есть более эффектное решение
    /[а-я][a-z]|[a-z][а-я]/gi
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а цифры могут быть в строке? 123ж456z - не всосет твоя регулярка.
     
  5. sk-_-

    sk-_- Новичок

    С нами с:
    9 авг 2017
    Сообщения:
    7
    Симпатии:
    2
    Это я опустил, так как проверка небуквенных символов у меня уже есть
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Разбей строку посимвольно и пополучай их коды. Встретил коды ascii и региональных - мультиланг. Не встретил кого-то - не мультиланг. Никого не встретил - не содержит алфавита.
     
  7. sk-_-

    sk-_- Новичок

    С нами с:
    9 авг 2017
    Сообщения:
    7
    Симпатии:
    2
    Как по мне немного изврат посимвольно проверять подстроку, когда слов может быть 10000. С разбиением строки на подстроки(слова) проблем нет
     
  8. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @sk-_-, А нельзя ли две проверки использовать: на английский алфавит и отдельно на русский. Если обе true - значит мульти.