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

Тема в разделе "Perl программирование", создана пользователем Satell, 4 июл 2007.

  1. Satell

    Satell Гость

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

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

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

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

    Vovochka Гость

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

Поделиться этой страницей