Замена в текстах

Основная проблема программирования в том, что хорошо пишут программы одни - а хорошо ими пользуются другие. Для начала хорошо будет уточнить функции типовых программ. К сожалению такое уточнение не самоочевидно - порой проходят годы прежде чем пользователь поймет, что это действительно лучший выбор. Попробуйте довериться мне.

Пример первый.
Всяк умный пользователь испытывает потребность в хорошей программе замены текста в одном или множестве файлов. Это большое и длинное чувство, так как подходящая программа никак не находится. И приходится изобретать свои способы. И радоваться процессу и немного огорчаться результатам.

Зафиксируем потребность конкретными функциями:
• чистка интернет-страниц
• чистка html-файлов после Worda (уууу) или после FrontPage (чуток)
• перевод txt/doc/rtf-файлов в html и обратно = моя библиотека
• массовая редакция текстов: установки вида, удаление-замена-вставка типового фрагмента
• чистка отсканированных страниц

Вот пожалуй и все.

 

Простые результаты:
1. Для Front-Word чистки можно воспользоваться Словогрызом. Плюс шаблоны - чтобы не ломать голову.
2. Единого шаблона для Интернет-очистки нет. Задача решается - но решается частично или грубо.
3. Для перевода текстового файла в html-формат советую воспользоваться замечательной программой Txt2Html.
4. Множественная замена: есть сложности, о которых смотрите ниже.
5. Сканируйте спокойно и не спеша. Что получилось само - хорошо; остальное правьте вручную. Только так.

После Worda с html порой ничего нельзя поделать - используются перекрестные запутанные ссылки на рисунки, которые даже FrontPage читает с трудом. Но читает: если читает прямо из doc-формата и порциями до 300 кб. Это совет: делим doc-файл и открываем в FrontPage.

Есть более привлекательный способ: с использованием desain-mode режима в IE. Открываем Word и IE в desain-mode режиме, затем копируем весь документ и вставляем в IE. Сохраняем и опаньки: количество тэгов уменьшается в 20-40 раз. Пойду попробую перенести 1 мб. - Ура! Работает. Проблема одна - не переносятся рисунки. Значит возвращаемся к FrontPage или терпим многопутаницу Word-htmla. Но для обычных док-книжек решение хорошее.

Подумав упрощаем: очевидно чистка происходит на уровне форматов буфера обмена Виндоус.

И так далее. Повсюду неопределенности. Поэтому воспарим немного и поглядим на текущие идеалы "что бы было хорошо и еще лучше".

1. Интернет-страницы следует фильтровать на ходу. Фильтры должны быть умные-тонкие и не должен страдать дизайн. Баннеры надо вырезать и ставить на их место свои хорошие картинки: и загрузка быстрее и симпатичнее. Если фильтр режет страницу сильно, то можно отключить часть его опций до получения довольного результата с запоминанием настроек для данного сайта. Настройки для лучших сайтов можно распространять в интернет.

2. Хорошо уметь выделять содержательное ТЕЛО страницы (Вебломастер умеет).
Хорошо автоматически сохранять выделения: сохраняя html-формат, сохраняя выделения по отдельности или добавляя в один файл (открывая невидимый html-файл в режиме IE-редакции).

3. Хорошо научить наконец IE и Opera сохранять страницы правильно: сразу в кэше + согласно каталогам самих страниц + помещая в начало AA-файл ссылок на все просмотренные страницы сайта (с этого файла доступны все страницы).

4. Должен быть хороший модуль поиска-замены для всех редакторов с 10 типовыми фильтрами. Хороший - это значит минимально критичный: многострочная замена, выделения-пропуски "от и до и далее", элементарный выбор "если следующие буквы такие, то...". Для быстроты обработка массивов должна вестись ближе к ассемблеру или операционной системе (в числовом формате).

5. Плюс ассоциативный поиск в файлах как в интернет: первое-второе значимые слова, 2-7 - дополнительные слова, поиск ±100-1000 букв, упорядочение результатов. Чтобы найти что-то по примерному описанию.

6. Сканировать сложно и здесь естественное решение: сканировать сообща и только то, что весьма значимо: бестселлеры для клубных сетей, первоисточники и хорошие статьи-учебники для всех. Что-то до сих пор не переведено на русский: например учебники по Windows-ресурсам, или книги великих Сандова-Засса. Что-то должно быть в каждом компьютере: православные Евангелия и Панагеи 13-14 века и т.д. При элементарной взаимоподдержке в сети можно разрешить 90% критических пожеланий за один год.

Вот так каждый раз: разбираешь простые задачи и натыкаешься на глобальные ограничения. Например: испробовав различные способы очистки Word-html-файлов приходишь к однозначному выводу: все эти препятствия смоделированы и реализованы специально (я имею в виду Word и IE). С другой стороны: хотя препятствий миллион, они снимаются 2-3 десятками простых глобальных решений.

Вот еще тройка хороших программ многострочной замены в множестве файлов:
1. Вебломастер - для чистки навороченных рекламой html-страниц. Советую минимальный режим: на первой вкладке установить только "Выделить основную часть...", на второй вкладке убрать "Стили".
2. Mass Text Processor  Андрей Кононенко Приморский край г. Артем: так подробно, потому что эта программа работает хорошо и безошибочно. Единственное пожелание - я сам и передам - чтобы можно было делать серию замен (сейчас выполняется сложная, но однотипная замена).
3. HTMLChanger Еманова Алексея Николаевича: продвинутый функциональный дизайн - есть чему поучиться.

Так как Вебломастер специализирован на упрощенную чистку, а HTMLChanger в деталях глючит (я бы важные файлы ему не доверил, а неважных у меня нет) - то получаем задачу.
 

Задача

Наиболее перспективным для идеализации мне представляется Mass Text Processor. Работает чисто и есть у Андрея Кононенко добавочная программа Mass Editor, более комплексная - но не вполне удобная. Сам МТР работает одиночными макросами: замена одного фрагмента на другой в множестве файлов.

Что делать Андрею Кононенко (а нам всем сочувствовать):
1. Добавить возможность использовать серию макросов при обработке каждого файла.
2. Постоянное меню выбора макросов и серий сбоку (подобно файлам и каталогам). Сюда же можно включить модули из Mass Editorа.
3. Типовые макрос-шаблоны для чистки и замены-добавления фрагментов: интернет-страницы, переформатирование документов, новые задачи (советы и шаблоны от талантов).
4. Слегка оптимизировать функциональный дизайн на основе копирования лучших форм из других программ и советов талантливых пользователей.

Параллельно можно уточнить оптимальный язык макросов и оптимальный алгоритм поиска-замены в тексте для текстовых редакторов (плюс попросить кого-то оптимизировать соответствующие модули для VB, Delphi и СИ).

Хорошо и просто, средствами самих задач.

Hosted by uCoz