Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите написать рег.выражение для определения домена?
 
 автор: jeans1986   (02.10.2007 в 08:42)   письмо автору
 
 

Помогите написать рег.выражение для определения домена? Т.е мне надо чтоб рег. выражение определяло являетс яли строка доменом (http://www.site.ru, http://site.ru, htp://top.site.ru). Т.е мне надо что он определял чисто саит а не url какой то. Заранееблагодарю.

   
 
 автор: Саня   (02.10.2007 в 10:39)   письмо автору
 
   для: jeans1986   (02.10.2007 в 08:42)
 

<?php
$text 
"http://www.site.ru, http://site.ru, http://top.site.ru";
preg_match_all("!http://[a-z\d-_]+\.([a-z\d-_]+\.)*[a-z]{2,6}!"$text$m);
print_r($m[0]);

   
 
 автор: Unkind   (03.10.2007 в 00:13)   письмо автору
 
   для: jeans1986   (02.10.2007 в 08:42)
 

> мне надо чтоб рег. выражение определяло являетс яли строка доменом (http://www.site.ru, http://site.ru, htp://top.site.ru)
http://... уже не является доменом. Домены только www.site.ru, site.ru, top.site.ru.

   
 
 автор: SHAman   (03.10.2007 в 11:56)   письмо автору
 
   для: Unkind   (03.10.2007 в 00:13)
 

Если так, то проще всего сделать что-то такое:

/\b[\w\d.]+\.[\w\d.]{2,6}\b/

   
 
 автор: Саня   (03.10.2007 в 12:37)   письмо автору
 
   для: SHAman   (03.10.2007 в 11:56)
 

Интересные домены у вас:
www....ru
домен.ру
example.123
_.d'd.123

   
 
 автор: Faraon   (03.10.2007 в 12:53)   письмо автору
 
   для: Саня   (03.10.2007 в 12:37)
 

to Саня
>preg_match_all("!http://[a-z\d-_]+\.([a-z\d-_]+\.)*[a-z]{2,6}!", $text, $m);
По моему доменов с нижним пробелом ( _ ) не бывает

   
 
 автор: SHAman   (03.10.2007 в 13:30)   письмо автору
 
   для: Саня   (03.10.2007 в 12:37)
 

Если я захочу подсунуть какой-то левый домен, я это сделаю:) Напишу mysite.ru и никто мне слова не скажет:) Все дело в баллансе детализации проверки и скорости работы. Если нужно чисто пропалить корректность введенного домена, чтобы не допустить ошибки из-за ввода неверного символа, то моя регулярка вполне подойдет. Если вы хотите полностью быть уверенным, что эта строка - домен, то у вас ничего не выйдет.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования