За последние 24 часа нас посетили 17289 программистов и 1627 роботов. Сейчас ищут 1312 программистов ...

Какой функцией обрезать строку до символа '?'

Тема в разделе "Прочие вопросы по PHP", создана пользователем theeldarka, 2 май 2019.

  1. theeldarka

    theeldarka Новичок

    С нами с:
    2 май 2019
    Сообщения:
    2
    Симпатии:
    0
    Имеется строка
    $page = 'api?token=da6sd22';
    Нужно из неё сделать $page1 = 'api'
    Обрезание до символа '?'
    Открыл строковые функции пхп и по заголовкам+описаниям не сильно разобрался
    Спасайте, братцы!
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    PHP:
    1. $page1 = substr ( $page, 0, strpos ( $page, '?' ) );
    --- Добавлено ---
    PHP:
    1. $page1 = explode ( '?', $page )[0];
    --- Добавлено ---
    +
    PHP:
    1. $page1 = parse_url ( $page, PHP_URL_PATH );
     
    Valick нравится это.
  3. yanuzay

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

    С нами с:
    28 мар 2018
    Сообщения:
    502
    Симпатии:
    58
    К ответу @MouseZver , можно еще вариант добавить:
    PHP:
    1. $page = 'api?token=da6sd22';
    2. $page1 = strstr($page, '?');
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    @yanuzay нельзя. 3 аргумент не добавил
     
  5. yanuzay

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

    С нами с:
    28 мар 2018
    Сообщения:
    502
    Симпатии:
    58
    3 аргумент не обязательный , по умолчанию false.

    В нашем случае действительно нужно указать 3 аргумент true, чтобы часть строки от начала строки до знака вопроса.
    Если 3 аргумент false, то получим "?token=da6sd22"

    PHP:
    1. $page = 'api?token=da6sd22';
    2. $page1 = strstr($page, '?', true);
    3. //В переменной $page1 значение 'api'
    PHP:
    1. $page = 'api?token=da6sd22';
    2. $page1 = strstr($page, '?');
    3. //В переменной $page1 значение '?token=da6sd22'
     
  6. theeldarka

    theeldarka Новичок

    С нами с:
    2 май 2019
    Сообщения:
    2
    Симпатии:
    0
    Спасибо всем отвечающим! Попробую)