Поиск и замена ссылок на перл
Пользователи, просматривающие топик: 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;
$pagetext =~ s/<img.*src=.*>/<img src=\"$randimg\">/gi;
|
|
|
RE: Поиск и замена ссылок на перл - 2007-07-06 08:02:07.530000
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
На PHP это было бы так: <?php
$randimg = $images;
$pagetext = preg_replace_callback('!<img.*src=.*>!', "get_replacement", $pagetext);
function get_replacement() {
global $randimg;
return '<img src=' . $randimg[rand(0, 2)] . '>';
} Возможно в perl есть аналог preg_replace_callback
|
|
|
|
|