Kvendi Опубликовано 13 Февраля 2009 Жалоба Поделиться Опубликовано 13 Февраля 2009 (изменено) Подскажите пожалуйста получение из любого URL домена. Поясню:Url может содержать Http,httpswww может присутствовать, может нетцель получить то, что после протокола(и если есть то и после www.) и до первого / (если он есть)Пример:_http://www.ibresource.ru/forums/index.php?showtopic=56548должно получитьсяibresource.ru Символ подчеркивания добавлен чтобы избежать BB Изменено 13 Февраля 2009 пользователем Kvendi Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 13 Февраля 2009 Жалоба Поделиться Опубликовано 13 Февраля 2009 http://www.sysman.ru/index.php?showtopic=9219 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 13 Февраля 2009 Автор Жалоба Поделиться Опубликовано 13 Февраля 2009 так надо именно регуляркой, ибо мне не для php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 13 Февраля 2009 Жалоба Поделиться Опубликовано 13 Февраля 2009 http://webcode.ru/re/href/ ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 13 Февраля 2009 Автор Жалоба Поделиться Опубликовано 13 Февраля 2009 там поиск именно URL и преобразование его в a href а мне надо из URL получить домен Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 13 Февраля 2009 Жалоба Поделиться Опубликовано 13 Февраля 2009 Ну от вас я этого не ожидал. Там есть регулярка на сам URL в find_links(), в неё нужно только добавить скобки для захвата той части URL, которая идёт после протокола и всё. Можно взять такую вот регулярку, всё найдёт. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 14 Февраля 2009 Автор Жалоба Поделиться Опубликовано 14 Февраля 2009 Все, понял, спасибо. Просто сразу там не разобрался, для меня все что связано с регекспом большое дно) Просто надо прикрутить к одному из win32 приложений ) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 14 Февраля 2009 Автор Жалоба Поделиться Опубликовано 14 Февраля 2009 (изменено) Упорно даже не мачится ( видимо все- таки косяк в реализации самого модуля регекспа хотя вроде pcre модуль все хвалили. Лан, сделаю по старинке парсингом Изменено 14 Февраля 2009 пользователем Kvendi Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 14 Февраля 2009 Жалоба Поделиться Опубликовано 14 Февраля 2009 Напишите что у вас вышло, посмотрю, я так понимаю C++? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 14 Февраля 2009 Автор Жалоба Поделиться Опубликовано 14 Февраля 2009 не, Delphi.Там принцип простой объявляется строка, объявляется regexp и если эта строка мачится с регекспом, тогда можно сделать replaceПробовал на самом деле до этого пример регулярки на эту же тему с php.net тоэе не захотела )Сделал по своймуfunction pm_GetDomain(url: AnsiString):AnsiString; var stemp:AnsiString; begin stemp:=url; if pos('://',stemp)>0 then stemp:=Copy(stemp,pos('://',stemp)+3,Length(stemp)-pos('://',stemp)-3); if Pos('www.',stemp)>0 then stemp:=Copy(stemp,Pos('.',stemp)+1,Length(stemp)-pos('.',stemp)-1); if Pos('@',stemp)>0 then stemp:=Copy(stemp,pos('@',stemp)+1,Length(stemp)-pos('@',stemp)); if Pos(':',stemp)>0 then stemp:=Copy(stemp,1,Pos(':',stemp)-1); if Pos('/',stemp)>0 then stemp:=Copy(stemp,1,pos('/',stemp)-1); Exit(stemp); end; на самом деле далеко не уверен в том что использование регулярки было бы быстрее и менее ресурсоемко Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 14 Февраля 2009 Жалоба Поделиться Опубликовано 14 Февраля 2009 Вряд ли было бы быстрее, тем более что вы проверяете сам URL довольно орошо, мой пример был совсем простым, даже досадно Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.