Ответы пользователя по тегу Проверка орфографии
  • Есть решения по проверке орфографии?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Используйте regex и проверяйте на невалидные цепочки слов и знаков препинания внутри текста перед постингом и нормализуйте токены-разделители.
    2. Проверяйте сами слова на валидные символы (и их цепочки), на ограничение длины и на содержание в стоп-листе.
    источник
    <?php
    $values = array(
        'text???',
        '???text',
        'text???text',
        'text ? ? ? ? ? text'
    );
    
    foreach ($values as $original_value) {
        $value = preg_replace('/([?!.:,;]|\s)\1+/', '$1 ', $original_value);
        echo $original_value . "\n" . $value . "\n\n";
    }
    Результат
    text???
    text? 
    
    ???text
    ? text
    
    text???text
    text? text
    
    text ? ? ? ? ? text
    text ? text

    Вот либа для русского языка: Typograph
    На данный момент типограф умеет...
    Обрабатывать тексты в различных кодировках(требуется iconv).
    Заменять кавычки на ёлочки.
    Склеивать двойные кавычки.
    Заменять знак дефиса или два знака дефиса подряд — на знак длинного тире.
    Заменять знак дефиса, ограниченный с обоих сторон цифрами — на знак короткого тире.
    Заменять множество пробелов или табуляций на один пробел.
    Заменять х в выражениях вроде 10x10 на знак умножения.
    Исправлять неправильную расстановку запятых.
    Разносить неправильно расставленные кавычки.
    Вставлять неразрывный пробел после инициалов, сцеплять инициалы.
    Делать неразрывными названия организаций и аббревиатуры форм собственности.
    Делать неразрывными имя собственное и относящееся к нему сокращение.
    Не разделять 2007 г., ставить пробел, если его нет.
    Сцеплять скобки со словами.
    Заменять 1/2 1/4 3/4 на спецсимволы.
    Следить за тем, чтобы предлоги и союзы не находились в конце строки.
    Следить за тем, чтобы частицы бы, ли, же и т.д. не отрывались от предшествующего слова.
    Форматировать русские денежные суммы, расставляя пробелы в нужных местах.
    Заменять от 3-х до 5-и точек подряд на троеточие.
    Притягивать к слову запятые, отделять пробелом от последующего слова.
    Притягивать к слову восклицательный знак.
    Делать замену для +-.
    Обрабатывать вложенные кавычки.
    Притягивание чисел к знаку умножения.
    Запятые до «а» и «но».
    Притягивание «;» к предшествующему слову.
    Убирает лишние знаки: «??» в «?», «!!!!» в «!!!».
    Правильные апострофы в «LO'Лайт».
    Прямая речь.
    Неразрывные IP-адреса.

    Добавлю ещё, что если есть ограничение на количество символов в объявлении - то сразу лучше ограничить количество слов (2 буквы и более) не несущих смысл (союзы, предлоги и т.д.). Тогда текст объявлений будет намного качественнее для ЛЮДЕЙ (и для поисковиков, конечно)!

    Что такое заспамленность в целом (понятия: водность, тошнота текста и др.): тут
    Онлайн анализ текста: здесь

    Т.е. это должно работать сразу, до принятия объявления системой (т.е., обычно, до его публикации).
    Ответ написан
    5 комментариев