Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: помогите доработать регулярное выражение

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pavel.nikandrov
Отправлено: 16 Апреля, 2017 - 11:02:17
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




Добрый день!

Имеется вот такое регулярное выражение

/([a-z][-_]?[a-z\d]+?[^_-]\.){0,}[a-z][-_]?[a-z\d]+?[^_-]\.[a-z]{2,5}/i

оно прекрасно извлекает различные домены из URL, но есть 2 адреса,которые оно делает коряво, все из-за тире, можно его доработать,чтобы все было красиво.

1) http://xn----7sbajjbec0dd3k7b[dot]xn[dot][dot][dot]_podryad/multiki
2) http://xn-----7kcabbec2afz1as3ap[dot][dot][dot]r-dlya-windows-7

Всем спасибо)

(Отредактировано автором: 16 Апреля, 2017 - 11:12:11)

 
 Top
Строитель Модератор
Отправлено: 16 Апреля, 2017 - 11:26:05
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




pavel.nikandrov, т.е. вам нужно получить домен из url строки ?
 
 Top
pavel.nikandrov
Отправлено: 16 Апреля, 2017 - 11:29:29
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




Строитель пишет:
pavel.nikandrov, т.е. вам нужно получить домен из url строки ?


да именно это мне и нужно!!))
 
 Top
Строитель Модератор
Отправлено: 16 Апреля, 2017 - 11:32:32
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




pavel.nikandrov пишет:
да именно это мне и нужно
PHP:
скопировать код в буфер обмена
  1. $search = 'http://xn-----7kcabbec2afz1as3apmjtgqh4hrf.xn--p1ai/dlya-komyutera/viber-dlya-windows-7';
  2.  
  3. $patt = '~https?://([^/]+)~iu';
  4. preg_match($patt, $search, $a);
  5.  
  6. echo '<pre>'; var_dump($a[1]); echo '</pre>';
  7. // string(44) "xn-----7kcabbec2afz1as3apmjtgqh4hrf.xn--p1ai"
 
 Top
pavel.nikandrov
Отправлено: 16 Апреля, 2017 - 12:04:29
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




Строитель пишет:
pavel.nikandrov пишет:
да именно это мне и нужно
PHP:
скопировать код в буфер обмена
  1. $search = 'http://xn-----7kcabbec2afz1as3apmjtgqh4hrf.xn--p1ai/dlya-komyutera/viber-dlya-windows-7';
  2.  
  3. $patt = '~https?://([^/]+)~iu';
  4. preg_match($patt, $search, $a);
  5.  
  6. echo '<pre>'; var_dump($a[1]); echo '</pre>';
  7. // string(44) "xn-----7kcabbec2afz1as3apmjtgqh4hrf.xn--p1ai"



спасибо за код, но мне бы желательно доработать мое регулятное)
 
 Top
Строитель Модератор
Отправлено: 16 Апреля, 2017 - 12:10:44
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




pavel.nikandrov, а что вас не устраивает в моём шаблоне? Доменное имя он ведь получает. Или вам ещё что-то нужно получить из url?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB