2012-07-03 5 views
0

Как я могу преобразовать это в preg_match?Как преобразовать eregi в preg_match

$urlregex = "(https?|ftp)://([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&;%$-]+)*@)*((?:(25[0-5]|2[0-4]\d|[01]\d{2}|[1-9]\d|[1-9])\.){3}(25[0-5]|2[0-4]\d|[01]\d{2}|[1-9]\d|[1-9]|0)|localhost|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:\d+)*(($|[a-zA-Z0-9.,?'+\\&;%\$#=~_-]+))*"; 

if (!eregi($urlregex, $_POST['url'])) { 
    $error = true; 
    $res = array(
      'response' => 'error', 
      'message' => 'The URL you have entered is invalid.' 
    ); 
} 
+0

возможно дубликат [Преобразование Ерег выражений PREG] (http://stackoverflow.com/questions/6270004/converting-ereg-expressions-to-preg) – nickb

+0

Я пробовал: /^ $ urlregex/i /^ $ urlregex &/i %^$ urlregex% i @^$ urlregex @ i Он всегда дает мне ошибку Неизвестного модификатора. – Bonfocchi

ответ

2

Лучшее использование build in URL validation.

if (filter_var(urldecode($_POST['url']), FILTER_VALIDATE_URL) == FALSE) { 
    $error = true; 
    $res = array(
     'response' => 'error', 
     'message' => 'The URL you have entered is invalid.' 
    ); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^