Составьте маленький макрос [Решено]

Russian main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 12
Joined: Sat Jun 08, 2019 9:08 pm

Составьте маленький макрос [Решено]

Post by iyut »

Здравствуйте, мне нужен макрос делающий такие замены:
<div> на ПУСТО
</div> на ПУСТО
"<div " на "<"
<class="comment__message "> на <p>

Заранее благодарю.
Last edited by iyut on Mon Jun 10, 2019 9:16 am, edited 4 times in total.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Re: Составьте маленький макрос новичку

Post by opk44 »

iyut wrote:Здравствуйте, мне нужен макрос делающий такие замены...
Если под "макросом" вы подразумеваете "скрипт", то есть несколько готовых решений:
-> 1.1. мультизамена во всех открытых документах (MDI/PMDI): Instructor script MultiReplace.js;
-> 1.2. FeyFre script replacer.js

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Re: Составьте маленький макрос новичку

Post by AZJIO »

iyut wrote:Здравствуйте, мне нужен макрос делающий такие замены:
<div> на ПУСТО
</div> на ПУСТО
"<div " на "<"
<class="comment__message "> на <p>

Заранее благодарю.
Это можно сделать какой нибудь программой поиска и замены, например этой

YuS
Offline
Posts: 513
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Re: Составьте маленький макрос новичку

Post by YuS »

AZJIO wrote: Это можно сделать какой нибудь программой поиска и замены, например этой
Тогда зачем вообще сам AkelPad? если использовать сторонние проги...
AkelPad прекрасно сам умеет поиск&замена, кроме того:
SearchReplace.js
плюс пакетная замена:
FindReplaceEx.js
TextReplace.js

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Re: Составьте маленький макрос новичку

Post by AZJIO »

YuS wrote:Тогда зачем вообще сам AkelPad?
Ну просто некоторые программы сами являются программа в программе, программе поиска и замены самому нужен блокнот для вывода, так что уже не разберёшь кто был первым.
Я сделал "перетащить бросить" путь в js-скрипт, в итоге всё открылось в AkelPad. Так что нет необходимости специально придерживаться чего-то ради чего...

Offline
Posts: 12
Joined: Sat Jun 08, 2019 9:08 pm

Post by iyut »

спасибо за ответы, испытаю

MultiReplace.js;
replacer.js
SearchReplace.js
FindReplaceEx.js
TextReplace.js

Offline
Posts: 12
Joined: Sat Jun 08, 2019 9:08 pm

Post by iyut »

Друзья, мне это совсем не нравится. Дайте дельные советы!

Я записал скрипты в папку \AkelFiles\Plugs\Scripts :
1)Fetser---MultiReplace.js
2)FeyFre---replacer.js
3)Visitor7---script.js
Когда я вызываю их через Плагины-Скрипты-Запустить, то ничего не происходит.

4) FindReplaceEx.js
Я подобавлял шаблоны, и не могу их вместе использовать, чтобы акелпад по ним произвёл поиск-замену.
Каждый шаблон по отдельности подгружать и нажимать "заменить"? что за чепуха. Быстрее на клавиатуре напечатать.

Я хочу автоматизировать поиск-замену.
Мне нужны простые четыре замены в открытых файлах, я мучаюсь,
а вы специалисты по Акелпаду, объясните пожалуйста

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

iyut
0. На неправильно заданный вопрос нельзя дать правильный ответ
1.
записал скрипты ... вызываю ... ничего не происходит.
А вы шаблоны поиска в них внесли? Если "да", то как именно? Как указать на ошибку в шаблонах, не видя содержимого этих скриптов (после вашей правки шаблонов)? У меня после внесения шаблонов в MultiReplace.js всё почему-то прекрасно работает:

Code: Select all

//  AkelPad.TextReplace(0, "FindIt1", "ReplaceWith1", 0x280001 /*FRF_DOWN|FRF_BEGINNING|FRF_REGEXP*/, true); 
  AkelPad.TextReplace(0, '<div>', "", 0x280001 /*FRF_DOWN|FRF_BEGINNING|FRF_REGEXP*/, true); 
  AkelPad.TextReplace(0, '</div>', "", 0x280001 /*FRF_DOWN|FRF_BEGINNING|FRF_REGEXP*/, true); 
  AkelPad.TextReplace(0, "<div ", "<", 0x280001 /*FRF_DOWN|FRF_BEGINNING|FRF_REGEXP*/, true); 
  AkelPad.TextReplace(0, '<class="comment__message ">', "<p>", 0x280001 /*FRF_DOWN|FRF_BEGINNING|FRF_REGEXP*/, true);
2.
Я подобавлял шаблоны, и не могу их вместе использовать...
Почему не можете? FindReplaceEx.js поддерживает работу с 9-тью нумерованными пакетами, содержащими произвольное число именованных шаблонов. Если вы редактировали именованные шаблоны, то как вам удалось не заметить наличие пакетов в той же форме?
3.
я мучаюсь, а вы специалисты
Постарайтесь не включать "режим блондинки".

YuS
Offline
Posts: 513
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

iyut wrote: 4) FindReplaceEx.js
Я подобавлял шаблоны, и не могу их вместе использовать, чтобы акелпад по ним произвёл поиск-замену.
Каждый шаблон по отдельности подгружать и нажимать "заменить"? что за чепуха. Быстрее на клавиатуре напечатать.

Я хочу автоматизировать поиск-замену.
Мне нужны простые четыре замены в открытых файлах, я мучаюсь,
а вы специалисты по Акелпаду, объясните пожалуйста
Отключите режим паники и попробуйте разобраться с интерфейсом.
В левой части находится список шаблонов, в средней части - редактирование/добавление этих шаблонов.
Если добавлять их Вы научились, то обратите внимание на правую часть формы со списком "Пакеты", у которой девять вкладок (девять пакетов).
Добавляются шаблоны в пакет с помощью кнопки "В пакет", расположенной в средней части формы, рядом с кнопкой "OK".
После добавления необходимых шаблонов в пакет, использовать его можно по кнопке "Заменить всё (пакетом)". Кроме того, последовательность шаблонов в пакете можно изменять, а также не удаляя, отключать отдельные шаблоны.

Правильность составления шаблонов, естественно, зависит только от Вас.
Подсказка:
У Вас присутствуют пересекающиеся замены:
<div> на ПУСТО
</div> на ПУСТО
"<div " на "<"
<class="comment__message "> на <p>
а значит, после отработки одного шаблона, второй может не найти то, что от него требовалось, т.е. последовательность выполнения шаблонов имеет большое значение.

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Post by AZJIO »

YuS wrote:У Вас присутствуют пересекающиеся замены:
Там же пробел!

Code: Select all

<div class="comment__message "> превращается в <class="comment__message ">  и потом в <p>

Offline
Posts: 12
Joined: Sat Jun 08, 2019 9:08 pm

Post by iyut »

>>Отключите режим паники и попробуйте разобраться.

Паники нет, я благодарю вас за терпение и подробные ответы, буду разбираться.

YuS
Offline
Posts: 513
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

AZJIO wrote:Там же пробел!
Это понятно. Цельной задачи со всеми условиями показано не было, а синтаксис php не запрещает теги вида:

Code: Select all

<div >
так что...
А так да, возможно всё... именно поэтому и было сказано:
Правильность составления шаблонов, естественно, зависит только от Вас.
чтобы потом не возникало ощущение, что AkelPad выполняет неправильную замену...

Offline
Posts: 12
Joined: Sat Jun 08, 2019 9:08 pm

Post by iyut »

задача этих всех замен -- чтобы старый легкий Frontpage 2003 мог открывать любые HTML-файлы, а то он не переваривает много <div>.

У меня получилось! Первый совет товарища opk44 сработал: я добавил его код в конец "MultiReplace.js", и акелпад заменяет, даже не беспокоя никакими окнами.
Спасибо. Оказывается, нужно было править скрипт, а не через GUI задавать условия. Я не знаю ява-скрипта, поэтому попросил составить мне.

Насчет FindReplaceEx.js : YuS написал:
>>обратите внимание на правую часть формы со списком "Пакеты"

у меня этой надписи нет
Image

Возможно у меня старая редакция скрипта. Вот откуда я взял:
https://raw.githubusercontent.com/Falle ... placeEx.js

Offline
Posts: 12
Joined: Sat Jun 08, 2019 9:08 pm

Post by iyut »

P.S. Я разобрался: нашел новую версию, тут есть надпись "пакеты"

Image

Всем спасибо
Post Reply