![]() |
preg_match
есть код но все время выводит 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 |
а ты не находиш что спец символы надо экранировать в регулярке(http:\/\/|https:\/\/)?
|
Цитата:
Сопстна не зная какие примерно урлы ТС собирается проверять, могу предположить что регулярка должна быть более менее универсальной. PHP код:
PHP код:
З.Ы. ТС, может не стоит по каждому вопросу создавать отдельную тему? есть прикреплённые |
| Время: 05:37 |