Forum Webscript.Ru
Программирование => Perl => Тема начата: Satell от 04 Июля 2007, 20:40:27
-
$pagetext=текст html документа;
@links=массив ссылок;
@images=массив ссылок на картинки;
нужно заменить все теги в документе $pagetext на теги с ссылками из массива @links в случайном порядке
и все теги
на картинки из массива @images в случайном порядке, как это сделать?
вот например код который меняет, но во всём документе сразу и только на одну ссылку, а надо чтобы было много разных, можно ли сделать что-то типа find next, чтобы при каждом запуске оператора s/ / он находил следующую ссылку
$randout=$links[rand @links];
$randimg=$images[rand @images];
$pagetext =~ s/href=\\".*\\"/href=\\"$randout\\"/gi;
$pagetext =~ s//
/gi;
-
$pagetext =~ s/<(a|img)\\s+(?:href|src)=".+?"(.+?)>/randout($1,$2)/gismee;
sub randout ($$) {
if ($_[0] eq "a") {
return sprintf "",$links[random(@links)],$_[1];
}
else {
return sprintf "
",$images[random(@images)],$_[1];
}
}
примерно