Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

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

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Поиск и замена ссылок на перл
Имя
Сообщение << Старые топики   Новые топики >>
Поиск и замена ссылок на перл - 2007-07-04 20:53:45.510000   
Satell

Сообщений: 16
Оценки: 0
Присоединился: 2007-01-13 01:48:42.526666
$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;&nbsp; $pagetext =~ s/&lt;img.*src=.*&gt;/&lt;img src=\"$randimg\"&gt;/gi;
Post #: 1
RE: Поиск и замена ссылок на перл - 2007-07-06 08:02:07.530000   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12

На PHP это было бы так:
&lt;?php $randimg = $images; $pagetext = preg_replace_callback('!&lt;img.*src=.*&gt;!', "get_replacement", $pagetext); function get_replacement() { global $randimg; return '&lt;img src=' . $randimg[rand(0, 2)] . '&gt;'; }
Возможно в perl есть аналог preg_replace_callback
Post #: 2
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Поиск и замена ссылок на перл







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.