06.03.2010, 12:48
развелось много агитаторов, которым ну просто непременно нужно пропихнуть IP адрес в чат. У меня канеш стояла легкая защита от этого, но они нашли простой выход с запятыми вместо точек (:
предлагаю вашему вниманию функцию, которая как минимум на 80% точно определяет есть ли в указанном тексте любой нормальный ИП адрес
предлагаю вашему вниманию функцию, которая как минимум на 80% точно определяет есть ли в указанном тексте любой нормальный ИП адрес
Код:
/* Вернет 1, если строка содержит любой нормальный ИП */ stock isTextHaveAnyIP ( string[] ) { for ( new pos, digits; string[pos] > 0; pos++ ) { switch ( string[pos] ) { case '0'..'9', 'o', 'O', 'о', 'О' : { if ( ++digits > 2 ) return 1; } case 30..47, 91..96, 123..183, 185..191 : { continue; } default : { digits = 0; } } } return 0; }