Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Помощь по скриптам для PtokaX _ Антиреклама

Автор: Andrey_SHANDERA 26.2.2010, 19:22

Всем спасибо! Всю ночь сидел, но сделал сам )))! Аж гордость какая то проснулась )))
Тему можно удалить!
Только вот ещё один вопрос. Допустим юзер кидает в чат d-c-h-u-b://testhub его банит.
А если он кинет d--c--h--u--b://testhub то не реагирует! Как можно поправить?
Кроме того:

Код
[dD][%c%p][Cc][%c%p][Hh][%c%p][Uu][%c%p][Bb]://
[dD]%s*[Cc]%s*[Hh]%s*[Uu]%s*[Bb]://

Этот код не реагирет на следующие символы: № | $ любой из этих трёх символов позволяет пройти рекламе. Что нужно сделать?

Автор: Nickolya 27.2.2010, 12:55

Попробуй 1 регулярку:

Код
[dD][%c%p%s%$%^|№]*[Cc][%c%p%s%$%^|№]*[Hh][%c%p%s%$%^|№]*[Uu][%c%p%s%$%^|№]*[Bb].*://

Автор: Andrey_SHANDERA 27.2.2010, 13:08

Здравствуйте Николай. Попробывал Ваш вариант. Стало реагировать на знак №, но попрежнему не реагирует на знаки $ и |. Ещё есть варианты?

Автор: Nickolya 27.2.2010, 13:23

Желательно бы приложить Ваш код что использует эту регулярку, а лучше весь скрипт антирекламы, тогда все может проясниться. И, если можно, выложите фразы на которые не реагирует скрипт.

Автор: Andrey_SHANDERA 27.2.2010, 14:02

Я так пологаю вот этот код вы просили?:

Код
function checkForAdvertising(msg)
    for _,v in ipairs(adverTable) do
        if string.find(msg, v) then
            return true
        end
    end
    return false
end

function checkForSafe(msg)
    for _,v in ipairs(safeTable) do
        if string.find(msg, v) then
            return true
        end
    end
    return false
end


Насчёт разрешённых фраз, то таковых нет.

Автор: Nickolya 27.2.2010, 15:03

Цитата(Nickolya @ 27.2.2010, 13:23) *
И, если можно, выложите фразы на которые не реагирует скрипт.

А вот это? Тогда все станет совсем ясно big_smile.gif

Автор: Andrey_SHANDERA 27.2.2010, 15:23

))) Николай, так я в верхней месаги, сразу под кодом Вам написал: что нет фраз, на которые не реагирует скрипт. )))

Автор: Nickolya 27.2.2010, 16:17

А я вот говорю не про фразы-исключения в антирекламе, а про фразы с рекламой что проскакивают через антирекламу.
Вот я привожу таблицу тех фраз что я пытался найти и все нашлись:

Код
tData = {
    "dchub://mydc.ru/ $$$",
    "dchub://mydc.ru/ $$$",
    "d$c$h$u$b$://mydc.ru/ $$$",
    "d$$c$$h$$u$$b$$://mydc.ru/ $$$",
    "d$$|||c$||$h$;;;№$u||$$b$$://mydc.ru/ $$$",
}

В приложении код для проверки...

 test1.lua ( 413 байт ) : 10
 

Автор: Andrey_SHANDERA 27.2.2010, 21:01

Понял Вас Николай. сейчас посмотрю то, что Вы приложили.

Я Вам в аську написал.

Автор: Andrey_SHANDERA 1.3.2010, 17:51

Николай. Ну так как насчёт того, что я Вам скинул в АСЮ???

Автор: Nickolya 3.3.2010, 22:10

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