Как регуляркой заменить одинаковые значения в тексте

Jeeves

Client
Регистрация
22.02.2018
Сообщения
51
Благодарностей
4
Баллы
8
Здравствуйте. Есть такой текст:
<h2><span>10</span> The Immortals</h2>
<p><img src="http://listverse.wpengine.netdna-cdn.com/wp-content/uploads/2019/02/Immortals.jpg" alt="" class="alignnone size-full wp-image-388228"></p>
Тут много текста
<h2><span>9</span> Thessalians</h2>
<p><img src="http://listverse.wpengine.netdna-cdn.com/wp-content/uploads/2019/02/Thessalian-cavalryman.jpg" alt="" class="alignnone size-full wp-image-388229"></p>
Тут много текста
<h2><span>8</span> Genoese Crossbowmen</h2>
<p><img src="http://listverse.wpengine.netdna-cdn.com/wp-content/uploads/2019/02/Genoese-crossbowmen.jpg" alt="" class="alignnone size-full wp-image-388230"</p>
Тут много текста
Хочу вырезать каждый код картинки и заменить его на ее номер. Вот так:
<p><img src="http://listverse.wpengine.netdna-cdn.com/wp-content/uploads/2019/02/Immortals.jpg" alt="" class="alignnone size-full wp-image-388228"></p>
на
Pic1
Следующую картинку на Pic 2 и так далее

Придумал только такое решение - вырезать текст до конца кода первой картинки и засунуть в переменную, переименовывать в ней код на нужный мне, и добавлять в другую переменную. Затем вырезать его из основного кода и по новой до последней картинки.

Подскажите пожалуйста более изящное решение или каким кодом дописывать текст в переменную.
Заранее благодарен!
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 470
Благодарностей
8 691
Баллы
113
Это нужно для временного изъятия кодов картинок и потом их возврата на свои места?
Можно сделать таким образом:
- по регулярке добавляете из исходного кода все коды картинок в Список
- делаете замену кодов картинок на не нумерованный макрос, например ##Pic##
- для возврата кодов картинок на свои места, начинаете брать первую строку из Списка с удалением и заменять макрос ##Pic## на код картинки (строку из списка) по 0-му совпадению
- и так делать в цикле пока не закончится Список.
 
  • Спасибо
Реакции: Jeeves

Jeeves

Client
Регистрация
22.02.2018
Сообщения
51
Благодарностей
4
Баллы
8
Это нужно для временного изъятия кодов картинок и потом их возврата на свои места?
Можно сделать таким образом:
- по регулярке добавляете из исходного кода все коды картинок в Список
- делаете замену кодов картинок на не нумерованный макрос, например ##Pic##
- для возврата кодов картинок на свои места, начинаете брать первую строку из Списка с удалением и заменять макрос ##Pic## на код картинки (строку из списка) по 0-му совпадению
- и так делать в цикле пока не закончится Список.
Пошел искать описание работы макросов:-) Спасибо за помощь!
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 470
Благодарностей
8 691
Баллы
113
  • Спасибо
Реакции: Jeeves

Jeeves

Client
Регистрация
22.02.2018
Сообщения
51
Благодарностей
4
Баллы
8

Jeeves

Client
Регистрация
22.02.2018
Сообщения
51
Благодарностей
4
Баллы
8

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 470
Благодарностей
8 691
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: Jeeves

Jeeves

Client
Регистрация
22.02.2018
Сообщения
51
Благодарностей
4
Баллы
8

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 470
Благодарностей
8 691
Баллы
113

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)