|
|
|
| Помогите написать рег.выражение для определения домена? Т.е мне надо чтоб рег. выражение определяло являетс яли строка доменом (http://www.site.ru, http://site.ru, htp://top.site.ru). Т.е мне надо что он определял чисто саит а не url какой то. Заранееблагодарю. | |
|
|
|
|
|
|
|
для: 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]);
|
| |
|
|
|
|
|
|
|
для: 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. | |
|
|
|
|
|
|
|
для: Unkind
(03.10.2007 в 00:13)
| | Если так, то проще всего сделать что-то такое:
/\b[\w\d.]+\.[\w\d.]{2,6}\b/
|
| |
|
|
|
|
|
|
|
для: SHAman
(03.10.2007 в 11:56)
| | Интересные домены у вас:
www....ru
домен.ру
example.123
_.d'd.123 | |
|
|
|
|
|
|
|
для: Саня
(03.10.2007 в 12:37)
| | to Саня
>preg_match_all("!http://[a-z\d-_]+\.([a-z\d-_]+\.)*[a-z]{2,6}!", $text, $m);
По моему доменов с нижним пробелом ( _ ) не бывает | |
|
|
|
|
|
|
|
для: Саня
(03.10.2007 в 12:37)
| | Если я захочу подсунуть какой-то левый домен, я это сделаю:) Напишу mysite.ru и никто мне слова не скажет:) Все дело в баллансе детализации проверки и скорости работы. Если нужно чисто пропалить корректность введенного домена, чтобы не допустить ошибки из-за ввода неверного символа, то моя регулярка вполне подойдет. Если вы хотите полностью быть уверенным, что эта строка - домен, то у вас ничего не выйдет. | |
|
|
|