HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

preg_match
  #1  
Старый 18.02.2009, 01:02
barnaki
Познающий
Регистрация: 02.11.2008
Сообщений: 87
С нами: 9221506

Репутация: 14
По умолчанию 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";
}
 
Ответить с цитированием

  #2  
Старый 18.02.2009, 01:22
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
С нами: 10582516

Репутация: 114
По умолчанию

У меня почемуто вначале жаловался пхп на / заменил на # и параметр на 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
 
Ответить с цитированием

  #3  
Старый 18.02.2009, 01:39
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
С нами: 10077446

Репутация: 1020


По умолчанию

а ты не находиш что спец символы надо экранировать в регулярке(http:\/\/|https:\/\/)?
 
Ответить с цитированием

  #4  
Старый 18.02.2009, 03:23
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами: 9975266

Репутация: 1916


По умолчанию

Цитата:
а ты не находиш что спец символы надо экранировать в регулярке(http:\/\/|https:\/\/)?
Если органичитель не слеш, то экранировать не нужно)

Сопстна не зная какие примерно урлы ТС собирается проверять, могу предположить что регулярка должна быть более менее универсальной.

PHP код:
preg_match("#^(http://|https://)??*\.{2,6}?*$#i"$url$out
Пробелы не забудь убрать.

PHP код:
htmlspecialchars($_POST
А вот это в регулярке не нужно)


З.Ы. ТС, может не стоит по каждому вопросу создавать отдельную тему? есть прикреплённые
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.