Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск и замена ссылок 
:(
    Опции темы
Satell
Дата 4.7.2007, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 28.6.2007

Репутация: нет
Всего: нет



$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;

PM MAIL   Вверх
nitr
Дата 4.7.2007, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



smile
Вам не в форум perl - а в работу/"Цетнтр помощи" или типа того... 


--------------------
PM   Вверх
amg
Дата 5.7.2007, 07:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Немного замысловато, но должно работать
Код

$pagetext =~ s/href=".*?"/'href="'.$links[rand @links].'"'/egi;    
$pagetext =~ s/<img.*?src=.*?>/'<img src="'.$images[rand @images].'"'>/egi;


Satell, обрати внимание на поисковую часть регулярных выражений. Я немного подправил, но до идеала далеко, правильно парсить html не так просто, лучше пользоваться готовыми решениями.

Это сообщение отредактировал(а) amg - 5.7.2007, 07:17
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0642 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.