Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ru:xurl.txt [2015/01/03 19:05] (current)
Line 1: Line 1:
 +[[content|Оглавление]] / [[program_inner_files|Внутренние файлы программы]]
 +====== xurl.txt ======
 +===== Описание =====
 +Данный файл задаёт [[ru:​program_work_description|логику "​следования"​ программы по ресурсу]] (нахождение ссылки на просмотр раздела форума,​ создания топика / сообщения,​ регистрацию и т.п.). Он состоит из списка мета-команд,​ задающих правила следования. Наиболее высокие строчки имеют более высокий приоритет выполнения.
 +===== Синтаксис =====
 +<​code>​
 +AddLinkRule([область_поиска,'​строка',​ необязательный_параметр_логики,​
 +...
 +], метка_ссылки);​
 +</​code>​
 +Дополнительный флаг **'​[IS_REGISTER]'​** (см. примеры в прилагаемом xurl.txt) срабатывает в ходе регистрации.
  
 +Также, начиная с версии XRumer 5.09, в данном файле добвлена возможность использования регулярных выражений в правилах:​
 +<​code>​
 +AddLinkRegexRule([область_поиска,'​регулярное_выражение'​],​метка_ссылки);​
 +</​code>​
 +
 +Где:\\
 +  * **область поиска** - цифровое значение,​ задающее,​ где именно производится поиск строки: ​
 +    * 0 - ссылка в нижнем регистре, ​
 +    * 1 - ссылка как есть в HTML-коде, ​
 +    * 2 - ссылка вместе с анкором в нижнем регистре,​
 +    * 3 - текст перед ссылкой (введено в XRumer 7.7.42), ​
 +    * 4 - параметр ссылки "​ID"​ (введено в XRumer 7.7.42),
 +    * 5 - параметр ссылки "​CLASS"​ (введено в XRumer 7.7.42)
 +  * **строка** - строчка,​ которая должна входить в область поиска,​ чтобы данное правило выполнялось;​ начиная с версии 7.7.41, данная строка также может содержать спец.метку NICKNAME, что означает поиск текущего никнейма в указанной области
 +  * **необязательный_параметр_логики** - здесь может быть прописан или не прописан false; если прописан false, это значит,​ что строка наоборот НЕ должна присутствовать в области поиска
 +  * **метка ссылки** - это метка, которой будет помечена данная ссылка если заданное правило выполняется:​
 +    * **URL_TOFORUM** - ссылка на форум
 +    * **URL_TOGUESTBOOK** - ссылка на гостевую книгу
 +    * **URL_TOSEARCH** - ссылка на поиск по сайту (зарезервировано,​ не используется)
 +    * **URL_TONEWS** - ссылка на новости (зарезервировано,​ не используется)
 +    * **URL_TOVIEW** - ссылка на просмотр раздела форума
 +    * **URL_TOSUBVIEW** - ссылка на просмотр под-страниц раздела форума
 +    * **URL_TONEWPOST** - ссылка на создание нового сообщения / топика
 +    * **URL_TOREPLY** - ссылка на ответ в топик (созданный после отправки),​ такие ссылки помещаются в базу [[rlinkslist|]]
 +    * **URL_TOEDIT** - ссылка на редактирование топика,​ такие ссылки помещаются в базу [[elinkslist|]]
 +    * **URL_TOREGISTRATION** - ссылка на регистрацию
 +    * **URL_TOLOGIN** - ссылка на логин
 +    * **URL_AGREE** - ссылка "я согласен с правилами"​
 +    * **URL_TO_VIEWTOPIC** - ссылка на просмотр топика,​ используется главным образом в [[antispam|системе "​Антиспам"​]]
 +    * **URL_TO_EDITPROFILE** - ссылка на личную панель зарегистрированного профиля
 +    * **URL_TO_EDITPROFILE2** - ссылка на редактирование профиля (подстраница,​ например редактирование личных данных)
 +    * **URL_TO_EDITPROFILE3** - ссылка на редактирование профиля (подстраница,​ например редактирование подписи)
 +    * **URL_TO_EDITAVATAR** - - ссылка на редактирование профиля (подстраница,​ закачивание аватара)
 +    * **URL_TO_VIEWPROFILE** - ссылка на просмотр зарегистрированного профиля
 +===== Примеры =====
 +<​code>​
 +AddLinkRule([
 +2,'​sign',​
 +0,'​sign.asp'​
 +],​URL_TONEWPOST);​
 +</​code>​
 +Данное правило указывает программе,​ что все ссылки,​ содержащие "​sign.asp",​ или ссылки с анкорами,​ содержащие "​sign"​ - ведут на создание нового сообщения.
 +<​code>​
 +AddLinkRule([0,'​action=logout'​
 +],''​);​
 +</​code>​
 +Данное правило указывает программе,​ что все ссылки,​ содержащие строчку "​action=logout",​ следует игнорировать (обратите внимание:​ в "​метке ссылки"​ здесь прописаны два апострофа,​ а не двойная кавычка).
 +<​code>​
 +AddLinkRule([1,'​board,',​
 +1,'​.0.htm',​
 +1,'​action',​ false
 +],​URL_TOVIEW);​
 +</​code>​
 +Данное правило указывает программе,​ что все ссылки,​ содержащие "​board"​ и «.0.htm",​ но НЕ содержащие "​action"​ - ведут на просмотр раздела форума.
 +===== Пример использования регулярного выражения =====
 +Следующие правила:​
 +<​code>​
 +AddLinkRule([0,'​register.php?​clicked=1'​],​URL_TO_PRESSCAPTCHA);​
 +AddLinkRule([0,'​register.php?​clicked=2'​],​URL_TO_PRESSCAPTCHA);​
 +AddLinkRule([0,'​register.php?​clicked=3'​],​URL_TO_PRESSCAPTCHA);​
 +AddLinkRule([0,'​register.php?​clicked=4'​],​URL_TO_PRESSCAPTCHA);​
 +</​code>​
 +Можно заменить на правила типа:
 +<​code>​
 +AddLinkRegexRule([0,'​register.php?​clicked=[1-4]'​],​URL_TO_PRESSCAPTCHA);​
 +</​code>​
 +
 +\\
 +|См. также: • [[x_apply.txt|x_apply.txt]] • [[x_fields.txt|x_fields.txt]] • [[x_user_agent.txt|x_user_agent.txt]] • [[xas.txt_xas_AI.txt|xas.txt и xas_AI.txt]] • [[xas_near.txt|xas_near.txt]] • [[xbuttons.txt|xbuttons.txt]] • [[xignoreforms.txt|xignoreforms.txt]] • [[xmaxlen.txt|xmaxlen.txt]] • [[xmessages.txt|xmessages.txt]] • [[xpop.txt|xpop.txt]] • [[xprior.txt|xprior.txt]] • [[xseek.txt|xseek.txt]]|
Languages