За последние 24 часа нас посетили 54393 программиста и 1768 роботов. Сейчас ищут 1084 программиста ...

Как убрать из строки слеш?

Тема в разделе "PHP для новичков", создана пользователем OZ-Style, 21 май 2010.

  1. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    Всем привет!
    Рад присоединиться к форуму, т.к. понял что PHP Это как воздух и мне его не хватает :)

    Не могу найти способ решения следующего вопроса:

    как из такой строки "/rubrika"
    получить строку "rubrika"
    и одновременно, если строка будет иметь вид "/rubrika/news"
    получить строку "rubrika"

    вместо слова rubrika может быть любое другое (только латиницей) с разной длинной символов

    Буду благодарен за любые подсказки.
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    $str = '/rubrika/aaa/bbb/ccc';
    $a = explode('/',$str);

    print($a[0]);
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Код (Text):
    1.  
    2. <?php
    3.  
    4. $str = '/aaasssddd/cccffgg/rrfftt/gghhff';
    5.  
    6. preg_match_all('/^\/?([a-z]+)\/?/i',$str,$matches);
    7.  
    8. print_r($matches[1]);
    9. tornado(root):/home/440hz#>php pr.php
    10. Array
    11. (
    12.     [0] => aaasssddd
    13. )
     
  4. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    Сори но не налазит на голову))

    Опишу другими словами что необходимо реализовать:

    нужно для <body> присвоить класс, именем которого будет первая строка из URL,
    тоесть на странице с URL, например, )http://www.php.ru/forum/viewtopic нам необходимо
    <body class=""> превратить в <body class="forum">
    как это реализовать?
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    1. парсишь строку запроса $_SERVER['что-то тут. не помню. надо посмотреть phpinfo()']. как я уже показал.
    2. при выводе страницы подставляешь туда это значение
     
  6. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    440Hz
    $_SERVER['REQUEST_URI'];
    вроде.
     
  7. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    basename($_SERVER['REQUEST_URI']); - даст нам окончание URL: _http://www.php.ru/forum/viewtopic
    dirname($_SERVER['REQUEST_URI']); - даст дирикторию и поддиректорию (если есть): _http://www.php.ru/forum/viewtopic

    болдом выделил то что мы получим. Не один из вариантов не решает ТЗ.

    Кто то может привести код, решающий ТЗ?
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  9. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    PHP:
    1. <?php
    2. function top_folder ($uri)
    3. {
    4.     $a = explode ('/', $uri);
    5.     return $a[1];
    6. }
    7.  
    8. echo top_folder ($_SERVER['REQUEST_URI']);
    9. ?>
    см. второй пост топика
     
  10. stas_t, надо же, живой... палочкой в тебя потыкать, что ли ))
     
  11. OZ-Style

    OZ-Style Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    26
    Симпатии:
    0
    Большое СПАСИБА! Все получилось.