Форумы Форум www.proxomitron.ru
Все о программе Proxomitron
Главная  • FAQ для форума  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Личные сообщения  •  Вход
 Помогите разобраться
 Сайт -> Форумы » Фильтры
Следующая тема
Предыдущая тема

Новая тема  Ответить
Автор Сообщение
lexx3000
Newbee
Newbee


Зарегистрирован: 30.07.2009
Сообщения: 2

СообщениеДобавлено: Чт, Июл 30 2009 10:57 Цитировать |  |  | 

Имеется код страницы:
Код:
<mega text="tdsfgdfsg" id="90834" /> <mega text="hsdg" id="90835" /> <mega text="askdhfkhsh" id="90836" />


Задача состоит в том, чтобы у известного id, заменить содержимое тэга mega text на строку "!!!!". Создал правило в проксомитроне:

Код:
Name = "test"
Active = TRUE
Limit = 256
Match = "mega text="\1" id="(90836)\2""
Replace = "@mega text="!!!!" id="\2"@"


В результате этого имеем:
Код:
<@mega text="!!!!" id="90836"@ />


Вместо ожидаемого:
Код:
<mega text="tdsfgdfsg" id="90834" /> <mega text="hsdg" id="90835" /> <mega text="!!!!" id="90836" />


Т.е. \1 съело все от mega text=" до " id="(90836)\2"

Прочитал 3 раза весь хэлп, но так и не понял, как можно решить эту задачу. Буду благодарен за помощь.
К началу Профиль Сообщение
lexx3000
Newbee
Newbee


Зарегистрирован: 30.07.2009
Сообщения: 2

СообщениеДобавлено: Чт, Июл 30 2009 11:16 Цитировать |  |  | 

Ага, сам разобрался. Возможно, криво написано , но оно работает!!!

Код:

Name = "test"
Active = TRUE
Bounds = "<*/>"
Limit = 256
Match = "\3mega text="\1" id="(90836)\2"\4"
Replace = "\3mega text="!!!!" id="\2"\4"


Вся магия была в границах поиска :-) Интересно, можно это записать короче?
К началу Профиль Сообщение
Nan0miT
Platinum Member
Platinum Member


Зарегистрирован: 11.10.2006
Сообщения: 315

СообщениеДобавлено: Сб, Авг 01 2009 00:29 Цитировать |  |  | 

может так (не проверял)

Match = "mega text="[^"]+" id="90836""
Replace = "mega text="!!!!" id="90836""
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2626
Откуда: SPb

СообщениеДобавлено: Ср, Авг 05 2009 21:49 Цитировать |  |  | 

Ага, тут конкурс, кто короче запишет? Наконец-то кто-то догадался его провести! ;)

Код:
Limit = 64
Match = "(<mega text=")\1*"(^(^ id="90836"))"
Replace = "\1!!!!""
К началу Профиль Сообщение
Показать сообщения:      
 
Новая тема  Ответить

 Перейти:   




Следующая тема
Предыдущая тема
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


P o w e r e d b y p h p B B © p h p B B G r o u p :: T h e m e b a s e d o n FI T h e m e :: Часовой пояс: GMT + 3