Поиск и замена ссылок

  • Автор темы Satell
  • Дата начала
S

Satell

$pagetext=текст html документа;
@links=массив ссылок;
@images=массив ссылок на картинки;

нужно заменить все теги <a href=какой-то адрес> в документе $pagetext на теги с ссылками из массива @links в случайном порядке
и все теги <img src=какая-то картинка> на картинки из массива @images в случайном порядке, как это сделать?

вот например код который меняет, но во всём документе сразу и только на одну ссылку, а надо чтобы было много разных, можно ли сделать что-то типа find next, чтобы при каждом запуске оператора s/ / он находил следующую ссылку

Код:
$randout=$links[rand @links]; 
$randimg=$images[rand @images];
$pagetext =~ s/href=\".*\"/href=\"$randout\"/gi;	
$pagetext =~ s/<img.*src=.*>/<img src=\"$randimg\">/gi;
 
V

Vovochka

Конечно!
Прцесс будет выглядеть так:
Код:
$randout=$links[rand @links];
while ($pagetext =~ s/href=\".*\"/href1=\"$randout\"/i) { #Чтоб не повторялось href меняем на href1
$randout=$links[rand @links];
};
$pagetext =~ s/href1/href/gi; # Возвращаем все на место :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!