########## Функция проверяет URL и возвращает: ## +1, если URL пуст ## -1, если URL не пуст, но с ошибками ## строку (новый URL), если URL найден и отпарсен ## Если протокола не было в URL, он будет добавлен ("http://") ## function checkurl($url) { $url=trim(pregtrim($url)); if (strlen($url)==0) return 1; if (!preg_match("~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}". "(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:com|net|". "org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?". "!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&". "?+=\~/-]*)?(?:#[^ '\"&<>]*)?$~i",$url,$ok)) return -1; if (!strstr($url,"://")) $url="http://".$url; $url=preg_replace("~^[a-z]+~ie","strtolower('\\0')",$url); return $url; }
########## function to convert the hex string back to binary ## function hex2bin($data) { $len = strlen($data); $newdata = ""; for($i=0;$i<$len;$i+=2) { $newdata .= pack("C",hexdec(substr($data,$i,2))); } return $newdata; } ##########
########## Функция проверки e-mail. проверяет мыло и возвращает ## -1, если не пустое, но с ошибкой ## строку, если мыло верное ## function checkmail($mail) { $mail=trim(pregtrim($mail)); if (strlen($mail)==0) return 1; if (!preg_match("/^[a-z0-9_-]{1,20}@(([a-z0-9-]+\.)+(com|net|org|mil|". "edu|gov|arpa|info|biz|inc|name|ru|[a-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-". "9]{1,3}\.[0-9]{1,3})$/is",$mail)) return -1; return $mail; } ##########