есть код но все время выводит incorrect url format (даже когда все в норме) в чем может быть дело а email работает if (preg_match("/^[0-9a-zA-Z_]+@[0-9a-zA-Z_]+.[a-zA-Z]{2,6}$/",htmlspecialchars($_POST['email']),$user_data)) { $email = $user_data[0]; } else { $email = "incorrect email format"; } if (preg_match("/^(http://|https://)?(www)?[\.]?[a-zA-Z0-9@-]+\.[a-z]{2,6}$/", htmlspecialchars($_POST['url']),$user_data[0])) { $url = $user_data[0]; } else { $url = "incorrect url format"; }
У меня почемуто вначале жаловался пхп на / заменил на # и параметр на GET и у меня все норм. if (preg_match("#^(http://|https://)?(www)?[\.]?[a-zA-Z0-9@-]+\.[a-z]{2,6}$#",htmlspecialchars($_GET['url']),$user_data[0])) { $url = $user_data[0]; } else { $url = "incorrect url format"; } print_r($url); Array ( [0] => http://mytest.ru [1] => http:// ) 1.php?url=http://mytest.ru
Если органичитель не слеш, то экранировать не нужно) Сопстна не зная какие примерно урлы ТС собирается проверять, могу предположить что регулярка должна быть более менее универсальной. PHP: preg_match("#^(http://|https://)?[www\.]?[a-z0-9-\.]*\.[a-z]{2,6}[/]?[a-z0-9-_\.\#\?/%:=]*$#i", $url, $out) Пробелы не забудь убрать. PHP: htmlspecialchars($_POST['url']) А вот это в регулярке не нужно) З.Ы. ТС, может не стоит по каждому вопросу создавать отдельную тему? есть прикреплённые