Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Регулярные выражения


Автор: s_a_s_h_a 4.10.2004, 09:49
Здравствуйте, мне нужна помощь.
Вопрос - как организовать чистку тегов?
Например, во ВСЕХ тегах <form> на странице оставить только action и method.
У меня затруднение заключается в том, что найти-то я могу, но как заменить потом ВЕЗДЕ?

Автор: GoodBoy 4.10.2004, 11:02
Цитата(s_a_s_h_a @ 4.10.2004, 10:49)
У меня затруднение заключается в том, что найти-то я могу, но как заменить потом ВЕЗДЕ?

Проще простого:
Код
$text =~ s/шаблон_поиска/шаблон_замены/gim;

волшебные 3 буквы (gim) тебе помогут!!! :-))))))))

Автор: s_a_s_h_a 4.10.2004, 11:45
smile.gif Там разные формы!!!! И замены разные!!!!

Автор: GoodBoy 4.10.2004, 12:12
s_a_s_h_a
Стандартизируй!

Автор: s_a_s_h_a 4.10.2004, 12:14
GoodBoy,
что именно? Вообще ничего не понял.

Автор: s_a_s_h_a 4.10.2004, 16:48
Что-то тихо стало на форуме. Раньше напишешь, сразу ответ какой-нибудь. Не могу понять: то ли никто не представляет как решить мою проблему, то ли не хотят писать. Тогда почему?

В принципе, ее можно решить, запихав теги <form> в один массив, а остальное в другой, затем пробежаться по массиву с тегами <form>, заменить и склеить, но это как-то не красиво, да и мне надо не только теги форм анализировать. Получается еще один круг по различным тегам. А может все-таки кто-нибудь знает как это сделать получше? Жду ответов. Каких-нибудь.

Автор: ElectricalStorm 4.10.2004, 16:56
Цитата
Например, во ВСЕХ тегах <form> на странице оставить только action и method.


я думаю вот так это можно сдеать

(код не рабочий.... так набросок)

Код

print TEMP $_;
if ($_ =~ /<form>/) {
    @form    = split /\s+/, $_;
    $res = вытаскиваем из масива тока то что нужно ...
    print TEMP $res;
}


как то так если я правильно все понял smile.gif

Автор: s_a_s_h_a 6.10.2004, 17:25
ElectricalStorm,
Спасибо за ответ. Хотелось бы узнать, что содержится в переменной $_. Если вся страница целиком,
то таким образом мы заменим только первый тег <form>. Если поставить gm в поиске, тогда непонятно
каким образом делать замену. Если переменная $_ содержит только одну строчку html-кода страницы,
то тут не исключена ситуация, когда тег <form> с атрибутами разбивается на две строчки (в инете
может быть всякое). А от меня хотят 100% результата. Интересно: кто-нибудь написал хоть одну
стоящую прогу, в которой прямо все-все предусмотрено, да еще и для интернет.

Автор: ElectricalStorm 7.10.2004, 14:54
в переменной $_ - строка

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)