Данная функция проверяет входящий текст на наличие в нём IP адреса с портом.
Пример:
Данная функция сможет обнаружить IP, даже если он будет в таком виде:
Code
127. 0. 0. 1 : 1234 (пробелы рядом с точками)
127 (точка) 0 (точка) 0 (точка) 1:1234
127 точка 0 точка 0 точка 1:1234
127 (тчк) 0 (тчк) 0 (тчк) 1:1234
127 тчк 0 тчк 0 тчк 1:1234
127*любой текст, кроме цифр*.*любой текст, кроме цифр*0*любой текст, кроме цифр*.*любой текст, кроме цифр*0*любой текст, кроме цифр*.*любой текст, кроме цифр*1:1234
И так далее. Смысл функции прост. Она удалят все символы, кроме цифр, точек и двоеточия, а далее уже ищет IP:port
Внимание! Данная функция не удаляет ip:port, а только проверяет его наличие в тексте!
Функция:
Code
function antispam_ip($text) {
if ( empty($text) ) {
return false;
}
$text = preg_replace('#тчк|точка#Uis', '.', $text);
$text = preg_replace('#[^0-9:\.]#Uis', '', $text);
if ( preg_match('#([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]+)#', $text, $parse) ) {
return $parse[1];
} else {
return false;
}
}
P.S. Функция написана на php, желающие могут перевести на pawno.
Автор я.
Писал для себя, может и пригодится кому.