Автор |
Сообщение |
вот-такая-загагулина
Гость
|
Для удобства обрезания рекламмы сделал такой фильтр
Код: |
<\0\s*>\9</\0>
\1(href|src|data|content)\2(\s|)=(\s|)('|")\3(ftp|http(s|))://((^\h)*\3)\4
$LOG(B\0: \4) |
показывает в журнале ссылки на ресурсы отличные от текущего. включаю по необходимости.
хочу сделать bypass только для текущего(\h) и исключить определенные тэги для всех off ресурсов (например script,frime,img)
помогите плиз.
Проблема в том, что ByPass - разрешает всё, включая и оффссылки, а мне нужно все с \h разрешено, но с других - выборочно.
Спасибо.
|
|
|
К началу |
|
 |
chAlx
Moderator

Зарегистрирован: 30.06.2004
Сообщения: 2634
Откуда: SPb
|
Фильтр можно экспортировать из списка фильтров в буфер обмена по правому клику.
Кавычки Прокс сам умеет по-хитрому обрабатывать (см. хелп), хотя и жестокий смайлик ('|") иногда полезен. Но вместо этого обычно удобнее использовать $AV() или $AVQ().
Многократное использование переменной в поле Match работает не так, как в PCRE: переменная инициализируется первым значением (которое можно использовать в Replace), а остальные работают просто как шаблон (*) (или никак не работают, если стоят после скобок: (*)\1). Используй $NEST() или $TST().
Чтобы исключить определённые теги, надо их где-то перечислить: <(script|iframe|img)\0. Потом в замене можно на что угодно поменять.
Далее логика будет похожая на приведённый фильтр. Только конструкция (^\h)*\3 смотрится диковато, особенно без \3 в замене...
|
|
|
К началу |
Профиль Сообщение |
 |
SergS
Member

Зарегистрирован: 02.02.2011
Сообщения: 58
|
что касается офф-ссылок, проблема в том, что в \h может быть домен и 2 и 3 уровня. есть такой фильтр:
Код: |
[Patterns]
Name = "off-link-start[SRG]"
Active = TRUE
Multi = TRUE
Bounds = "(<(^a)(\w)\2\s*>)\1"
Limit = 1024
Match = "*(http(s|)((\:|\%3A)|)((\\|)/(\\|)/|\%2F\%2F))\0+(([^(\.|(\\|)/)]|)+.[a-z]+)\9(\\|)/*"
"&(^$TST(\9=\h))"
"$SET(GlOffLink=$GET(GlOffLink))"
Replace = "\1" |
*исправил
собирает в глобальную переменную(GlOffLink) все офф ссылки, кроме тэга а. сравнивается домен 2ого уровня(бла4.бла3. бла2.сру) с \h
Использую когда нужно посмотреть что вырезано, а что нет:
один такой в начале фильтров, другой в конце(отличаются цветом строки), а переменная загружается в "кнопку со списком", типа как с youtube-ом
еще думаю, может резать им все https до http кто не в Cookie листе, но это скорее всего приведёт к геморрою. ))
|
|
|
К началу |
Профиль Сообщение |
 |
|
|
Следующая тема
Предыдущая тема
Вы можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
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
| |