Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите разобраться с регуляркой, выборка хоста из ссылки 
:(
    Опции темы
burakov
Дата 27.2.2010, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



есть код нужно выбрать имя хоста

http://wm-help.net/my-articles/article/how...sses-in-php.htm
в данном случае должно получиться wm-help.net

Код


$url = 'http://wm-help.net/my-articles/article/how-write-classes-in-php.htm'; 
$pattern = '^http:\/\/(.+?)\/'; // в перле работает
if (ereg ($pattern, $url)) {

//ерег дает ошибку - не пропускает знак вопроса
// возможно ерег не перл совместимая функция 
// но какую тогда использовать ведь preg функции нету :)
// а мне не нужна замена preg_match, мне нужен поиск по условию
// как быть

}



Спасибо


--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
skyboy
Дата 27.2.2010, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 8
Всего: 260



parse_url
Цитата

ведь preg функции нету smile

в смысле?
или на крайний случай вместо инвертирования нежадности "+?" сделай "[^/]+"
почему ругается на ".+?"
Цитата(burakov @  27.2.2010,  10:15 Найти цитируемый пост)
возможно ерег не перл совместимая функция

это как раз preg_* - perl-совместимый. а ereg - это POSIX.
PM MAIL   Вверх
g27
Дата 13.3.2010, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



Код

<?
  // получаем www-адрес (имя хоста) из url
  $url = "http://www.php.net/download.html";
  preg_match("/^(http:\/\/)?([^\/]+)/i", $url, $matches);
  $host = $matches[2];
  echo("www-адрес: $host");
  echo("<br>");
  // получаем последние два сегмента имени хоста (доменное имя)
  preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
  echo "доменное имя: {$matches[0]}\n";
?>

как-то так
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.