![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: нет Всего: 38 |
Такая задача: есть строка, в которой список доменов, разделенных запятыми (http://, www могут отсутствовать). Как проверить, что в этом списке именно домены, а не белиберда, наподобии domen.tld?
-------------------- ![]() |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
регуляркой.
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Сначала убить все http и www и пробелы. Потом exlode'ом разбить по запятым. Ну а дальше к каждому применить if(preg_match). Пример регулярных выражений по ссылке: http://forum.vingrad.ru/index.php?showtopi...st&p=362050
Это сообщение отредактировал(а) Mal Hack - 21.8.2008, 23:22 |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 1 Всего: 31 |
Не, человеку похоже надо определить, что домен реально существует.
![]() Как вариант - запустить exec'ом host (или ещё что-нить вроде) и пропарсить ответ. И так для каждого домена в списке. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Я думаю, что все-таки тут имеет место текстовая задача.
Что есть host? Для проверки доступности придется сокетом послать GET заголовок и проверить ответ, ну или вылететь по таймауту... Пусть топикстартер уточнаяет задачу. |
||||
|
|||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 1 Всего: 31 |
host - команда оболочки (в илнуксе точно работает ![]() я делал вывод на основе Регулярками ты никак не проверишь, что domen.tld - "именно домен" ![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Проблема в том, что в винде нема (я не видел) И я тоже в том числе ![]()
Давай-те исходить из того, что то, что текст - адрес домена я регулярками - проверю, а то, что он зарегистрирован/делегирован/доступен - это уже второй вопрос ![]() |
|||
|
||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: нет Всего: 38 |
Нее, этого не надо. Но надо проверить, что домен может существовать, т.е. что зона правильная. -------------------- ![]() |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
aktuba, тебе список tld, что ли, нужен? Ну так найди в гугле. При чем здесь РНР?
|
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 1 Всего: 31 |
Теретически может существовать любой домен, чьё имя не противоречит правилам именования доменов. То, что tld не существует ещё не значит, что её не заведут через месяц.
Так что - бери регулярку и проверяй ею (найти выражение в инете не проблема). -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
aktuba, воспользуйся теми регулярками, ссылка на которые я дал.
Список доменов - http://iana.net/domains/root/db/ Попробуй, будут вопросы с реализацией - спрашивай. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |