Что такое динамическая замена, и когда она срабатывает?

Динамическая замена используется тогда, когда EmEx 3 не может распознать информацию, хотя она вроде бы и присутствует на сайте в явном виде. Но при детальном изучении выясняется, что представлена она в защищенном виде от автоматического сбора или же для того, чтобы ее пропустили фильтры форумов, блогов и прочих движков сайтов.

Наиболее частые примеры - замена символа @ на картинку, замена слова http:// на хттп:// или _xxxx://

Следует понимать, в какой момент срабатывает динамическая замена:

Из диаграммы видно, что динамическая замена скажется на всех парсерах, которые будут работать, но не скажется на фильтре ключевых слов (он предназначен для того, чтобы работать именно с оригинальным источником, а не с измененным).

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

Ограничение по URL. Зачем это надо?

Допустим, мы обнаружили, что на неком сайте используется замена необходимого символа (строки) на то, что EmEx 3 не опознает.

Понятно, что написав простейшее правило замены, скажем [собака] на @, мы решим ситуацию. Но зачем это делать на всех, сканируемых сайтах? Это просто породит излишнюю нагрузку на процессор в результате работы EmEx 3.

Именно для этого мы сделали ограничение по области действия этого правила замены - вы пишете правило замены и ограничиваете область его использования определенным сайтом. Разрешается использовать символы * и ? в качестве маски.

Например - для того, чтобы правило действовало только в разделе тех.поддержки EmEx 3 вы должны указать в качестве маски http://www.emex3.ru/support/* . Все, больше нигде это правило работать не будет.

Регулярные выражения в механизме замены

Использование регулярных выражений поможет сделать вам поиск и замену гораздо эффективнее.

Просто представьте, что необходимая информация разбита на части в тексте, и вам ее надо собрать.

Как пример - защита емейла с помощью JavaScript  в виде простейшей функции: ShowMail("user","domain")

Обычный поиск и замена по подстроке вам не поможет, но с помощью RegExp задача решается тривиально просто:

Выражение: ShowMail\("([^"]+)","([^"]+)"\)
Замена: \1@\2

Примечание:
Использование регулярных выражений существенно поднимают нагрузку на процессор, поэтому будьте внимательны в их написании. Желательно перед использованием оттестировать Ваше выражение в программе regexbuddy или другой подобной программе. Для регулярных выражений используется стандарт POSIX.

Если вы не особо сильны в написании регулярных выражений, то не стесняйтесь спросить службу технической поддержки. Но учтите, что такая помощь может оказываться только зарегистрированым владельцам лицензии на EmEx 3.

Как проверить правило динамической замены?

Самый лучший способ проверить Ваше правило динамической замены - использовать встроенный веб браузер в EmEx 3

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