VDS Хостинг для Ваших проектов

Замена текста онлайн OTRT

Сентябрь 23rd, 2015 Рубрики: Он-лайн

В одном из предыдущих постов я описывал программу uvFilesCorrector, предназначенную для замены текста в файлах. Задача довольно рутинная, однако достойных полноценных инструментов почти нет, либо они платные. Что касается uvFilesCorrector, то эта программа бесплатная, но имеются проблемы работы с кодировками. Хорошо замена работает только в ANSI-файлах с кодировкой Windows-1251. Производя поиски альтернатив я ничего толкового не нашёл и среди онлайн инструментов. На одном сайте был такой инструмент, но можно было произвести только одну замену и только в одном тексте. Так что я поставил себе задачу написать самому онлайн инструмент для замены текста, который бы предоставлял гораздо больше возможностей, фактически максимально что можно выжать из предлагаемых Javascript средств.

Итак, вкратце, какие возможности предлагает данный инструмент:

  • Замена введённого текста и получение результата в другом поле. Максимальный размер текста (2 миллиона символов).
  • Применение списка замен (неограниченно). Также применяемый список можно экспортировать/импортировать, чтобы работать в любое время.
  • Преобразование текста к кодировке UTF8, что позволяет обрабатывать тексты на разных языках.
  • Поиск как обычного текста так и регулярных выражений.
  • Работа со специальными символами в виде ESC-последовательности с указанием числового кода.
  • Замена текста из файлов с возможностью указания исходной кодировки.

Вместе с тем OTRT имеет и свои недостатки:

  • Медленная работа. Подвисание браузера во время обработки больших текстов/большого количества замен. Именно поэтому я задал ограничение на 2 миллиона символов.
  • Выходная кодировка (если сохраняете файлы) всегда UTF8 независимо от исходной.
  • Работа с файлами доступна не во всех браузерах, по крайней мере сохранение может быть очень неудобным, или вообще неработоспособным.

Интерфейс OTRT

Я пытался сделать максимально простой и интутивно понятный интерфейс. Основные элементы и их назначение указаны на рисунке. Но некоторые особенности рассмотрю подробнее.

интерфейс otrt инструмента замены текста нлайн

В самом верху страницы есть поле для выбора файлов на вашем компьютере, в которых надо заменить текст. Также рядом есть поле для выбора кодировки этих файлов. Если кодировка разная, то придётся обрабатывать каждую порцию файлов отдельно. Если ваш браузер не поддерживает возможность чтения файлов (HTML5 FileReader), то на этом месте будет соответствующее сообщение. Поддерживаемые браузеры: Chromium 25+ (и все на его движке), Firefox 13+, Opera 12+.

В центре расположены два текстовых контейнера: в первое вводите/вставляете текст, в котором надо произвести замены. В поле ниже (доступно только для чтения) – будет результат, т.е. текст в котором произведены указанные замены.

Сами замены задаются в виде списка в текстовых полях справа (можно добавить сколько нужно). Каждая замена задаётся в виде пары "искомое значение"-"новое значение". Если этот список у вас большой и надо будет ещё проводить такие же замены в будущем, то рекомендую экспортировать его в формате JSON с помощью одноименной кнопки и сохранить в текстовом файле или в заметках браузера. А в будущем импортировать его одним нажатием кнопки, чтобы не вводить каждый раз одно и то же.

Параметры OTRT

С помощью переключателя можно выбрать режим поиска обычного текста и регулярных выражений. Если вы не знаете, что такое регулярные выражения, то выбирайте обычный текст. Что касается заменяющей строки, что в ней надо учитывать символ $. В связи с использованием для замены стандартного метода Javascript объекта String.replace, то некоторые комбинации $ имеют специальное значение (кто знаком с регулярными выражениями – знает):

  • $$ – Вставляет сам $. Для примера из рисунка будет: Это $ текст
  • $& – Вставляет искомый текст. Для примера из рисунка будет: Это исходный текст
  • $` – Вставляет что до искомого текста. Для примера из рисунка будет: Это Это текст
  • $’ – Вставляет что после искомого текста. Это текст текст
  • $1..$9 – Вставляет найденное в соответствующих скобках.

Флажок ESC-последовательности позволяет использовать последовательности в виде \xHH \uHHHH в заменяющем тексте для указания разных символов, которые не вводятся из клавиатуры. Но такие последовательности поддерживаются только в виде цифр. Если надо ввести символ новой строки, то надо писать \x0A а не \n.

Фактически и обычный текст при поиске приводится к регулярным выражениям для возможности использования найденных последовательностей. Что касается самих регулярных выражений, то обрамлять их в / / не надо. Также не поддерживаются модификаторы (по-умолчанию используется только g)

Сохранение файлов

Автоматизированное сохранение изменённых файлов работает только в браузерах на движке Хромиум. Файлы с изменённым текстом (но в кодировке utf8) будут сохранены автоматически в заданную настройками браузера папку. В браузере Firefox потребуется разрешить обязательно всплывающие окна, так как каждый файл будет открыт на новой вкладке как blob-объект. Браузер Opera не поддерживает полностью Blob технологии, поэтому в нём генерируются ссылки с протоколом data: по которым можно сохранить результаты. Поэтому если у вас много файлов, рекомендую использовать Хромоподобные браузеры для автоматизированного сохранения.

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

Вопросы, замечания, пожелания оставляйте в комментариях к этому посту. Надеюсь, что OTRT станет для вас полезным инструментом замены текста онлайн и если сочтёте его достойным внимания, не забывайте поделиться с друзьями в соцсетях.

OTRT перейти к инструменту
Понравился пост? Поделись с другими!
Теги: , , ,
Комментариев пока нет.

Написать комментарий

   b2bbonbone