Ответы пользователя по тегу Автоматизация обработки текста
  • Как на php преобразовать html в форматированный текст?

    Stalker_RED
    @Stalker_RED
    Так?

    $txt = str_replace('<li', '-<li', $txt); // добавим минусы в списке
    $txt = strip_tags($txt); // уберем теги
    
    $rows = explode("\n", $txt); // разобьем на строки
    $rows = array_map('trim', $rows); // уберем пробелы в начале и конце
    $rows = array_filter($rows); // уберем пустые строки
    
    echo implode("\n", $rows);  // склеим строки снова в текст


    Есть и в виде готовых библиотек, типа такой
    https://github.com/soundasleep/html2text
    Ответ написан
    1 комментарий
  • Как из текста со смешанным алфавитом сделать нормальный?

    Stalker_RED
    @Stalker_RED
    Самый простой вариант - заменить все символы латиницы символами кириллицы. Но у этого метода есть существенный недостаток - он заменит буквы дляже в нормальных словах написанных латиницей.

    Вариант посложнее - найти слова, в которых смешаны кирилица и латиница, и применить замену только к ним.

    Но со словарем можно еще круче - при замене проверить слово и его словоформы по словарю, и если оно не найдено, то вывести предупреждение или оригинальное написание в скобках, например, или как вам будет удобнее.

    Если чтение из браузера, то можно написать расширение или юзерскрипт. Если из редакторов типа microsoft word, то там тоже можно написать VBA скрипты. И наверняка у каких-то скринридеров есть API для плагинов.
    Ответ написан
    Комментировать
  • Как извлечь, изменить и вернуть числа в текст?

    Stalker_RED
    @Stalker_RED
    Написать регулярку

    Вызвать ее через re.sub, в качестве коллбэка передать свою функцию, которая применит нужные математические операции (увеличит на два, например).
    Ответ написан
    Комментировать
  • Как очистить огромный txt от дубликатов?

    Stalker_RED
    @Stalker_RED
    Не уверен, что это самый быстрый велосипед, но точно сработает, в случае, если в твоем компе нету 25 гигов памяти:)
    загнать в базу (COPY FROM для postgress или LOAD DATA INFILE для мускула) а потом выбрать c DISTINCT.
    Таблица во время загрузки данных ессно без индексов должна быть.

    UPD: да, distinct тоже сильно грузит, insert ... ignore наверное будет быстрее.
    Ответ написан
    Комментировать
  • Почему не работает сокращение текста троеточием в таблице?

    Stalker_RED
    @Stalker_RED
    <td class="ellipsis"><span>длинный текст который нужно обрезать</span></td>


    .ellipsis {
        position: relative;
    }
    .ellipsis:before {
        content: '&nbsp;';
        visibility: hidden;
    }
    .ellipsis span {
        position: absolute;
        left: 0;
        right: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    Решение без спана искал несколько часов, ничего хорошего не нашел - постоянно какие-то глюки вылезали.
    Ответ написан
  • Как принято сохранять текст в базе данных?

    Stalker_RED
    @Stalker_RED
    Если это про тексты из какого-о wysywig редактора или комменты, например, то обший подход такой:
    1. сохраняем как есть, ничего не вырезам
    2. перед выводом на страницу фильтруем

    Иногда можно и на входе фильтровать, но есть шансы угробить пользовательские данные, что в целом нехорошо.
    Ответ написан
    Комментировать
  • Как отслеживать изменения в тексте?

    Stalker_RED
    @Stalker_RED
    Вы изобретаете собственную систему управления версиями? Ознакомьтесь с существующими решениями, возможно что-то из них вам подойдет.
    (Подсказка: кроме git есть и другие).

    Для истории можно хранить диффы.

    8к знаков - это не так уж много. К примеру 1000 копий будут весить 8 мегабайт. Это по три правки в день в течении года, например. А если текст сжать, то он займет в разы меньше.

    Или посмотрите на движок wiki, там тоже есть история изменений и множество пользователей.

    Также, можно разбить текст на главы (да хоть на абзацы) и вести историю отдельно по каждому фрагменту. Тогда объем изменений еще уменьшится.
    Ответ написан
    2 комментария
  • Какой из двух вариантов оформления данной колонки текста вы считаете правильным?

    Stalker_RED
    @Stalker_RED
    Правый вариант хоть как-то воспринимается, т.к. влазит на один экран. Левый - стена непонятного повторяющегося текста, будто EULA в очередной раз подвернулась.

    Неплохо бы переписать всё так, чтобы не было этих одинаковых повторяющихся кусков. Мало кому интересно читать высокохудожественный текст о доставке мебели. Целесообразно выделить ключевые моменты - цена, стоимость и сроки. А повторять три раза предложение "стоимость вы можете уточнить..." - это перебор, имхо.
    Ответ написан
    1 комментарий