Отрезать часть ссылки после слэша

Тема в разделе "Регулярные выражения", создана пользователем Raccoon, 11 ноя 2009.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. Raccoon

    Raccoon

    Регистр.:
    31 июл 2007
    Сообщения:
    172
    Симпатии:
    9
    Добрый день!

    посдкажите как вырезать часть строки в урле, интересует:

    http://www.site.ru/news

    нужно вырезать именно "news"

    как это сделать? :thenks::thenks::thenks:
     
  2. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Код:
    [a-z]+://[^/]+/(.*)
    
     
  3. капрал

    капрал

    Регистр.:
    2 окт 2008
    Сообщения:
    337
    Симпатии:
    45
    или так:
    Код:
    http\:\[B]/[/B]\[B]/[/B][^\/]*?\[B]/[/B](.*)
    
     
  4. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Что-то слишком, '/' и ':' зачем закрывать? '.*' тоже пользоватся лучше поосторожней. тс, скинь пример текста, будет точней подбор.
     
  5. Matinier

    Matinier Постоялец

    Регистр.:
    5 окт 2009
    Сообщения:
    65
    Симпатии:
    4
    Я тоже люблю регулярками пользоваться, но можно сделать так:

    PHP:
    $str 'http://www.site.ru/news';
    $result substr($str,strrpos($str,'/')+1);
    а если регуляркой, то можно и так:

    PHP:
    $str 'http://www.site.ru/news';
    $aParts preg_split('~\/~',$str);
    $result $aParts[count($aParts)-1];
    По-моему так проще для понимания для тех, кто в регулярках не разбирается.
     
  6. Ponochka

    Ponochka Постоялец

    Регистр.:
    21 фев 2008
    Сообщения:
    128
    Симпатии:
    13
    для URLов есть функция на PHP
    $url_parse = parse_url($url);

    возвращает ассоц. массив. print_r($url_parse);
     
  7. ADyDyka

    ADyDyka Создатель

    Регистр.:
    19 янв 2010
    Сообщения:
    26
    Симпатии:
    5
Статус темы:
Закрыта.