Задать вопрос

Почему не работает регулярка?

Есть готовая регулярка, для проверки валидности домена и так же в ней есть возможность проверки кириллического домена. Но почему-то вот кириллические домены проверять не хочет.

$url = "http://домен.рус";	
	
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|рус|media|aero|inc|name|[a-z]{2})|(?!0)(?:(?". "!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(:[0-9]{1,5})?(?:/[а-яa-z0-9.,_@%\(\)\*&amp;". "?+=\~/-]*)?(?:#[^ '\"&amp;<>]*)?$~i", $url)) {
	die("error");
}

Где ошибка?
  • Вопрос задан
  • 287 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@Olgeir
не смущает что в [a-z0-9_-] нет русских букв?
Ответ написан
Комментировать
ruFelix
@ruFelix
Предсказание будущего по руке, таро, кофе.
"~regexp~iu" - нужно добавить модификатор u это значит utf8.
и соответственно проверить, что исходник и приходящая на проверку строка в utf8
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽