Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2016, 23:22   #1
cheburashkaRF
Пользователь
 
Регистрация: 09.11.2011
Сообщений: 22
По умолчанию получить значение после последнего слеша и ?clear_cache=Y

Есть url со следующим адресом site.ru/content/../../../grazhdanskie-spory?clear_cache=Y мне нужно получить grazhdanskie-spory
/../-это произвольное количество разделов
PHP код:
pattern=#^/content/([a-zA-Z-]){1,3}#;
subject='site.ru/content/../../../grazhdanskie-spory?clear_cache=Y';
preg_match($pattern$subject$matchesPREG_OFFSET_CAPTURE); 

Последний раз редактировалось cheburashkaRF; 31.07.2016 в 23:28.
cheburashkaRF вне форума Ответить с цитированием
Старый 01.08.2016, 00:46   #2
predefined
Форумчанин
 
Регистрация: 01.08.2016
Сообщений: 182
По умолчанию

А). Регуляркой, сработает даже если в конце $subject нет query-string (? и хвоста после неё):
PHP код:
$a preg_replace('|.*/([^/]+)\?*.*|'"\$1"$subject); 
Б) Более понятный (и надёжный) вариант:
PHP код:
   // В массив по '/' и реверсируем массив
  // grazhdanskie-spory?clear_cache=Y будет в элементе [0]:
$arr array_reverseexplode('/'$subject) );
  
// Разбиваем в массив по '?', но выбираем только первый элемент массива:
list($a, ) = explode('?'$arr[0]); 
В обоих случаях строка между последним '/' и '?' будет в переменной $a. Если в конце строки нет '?' - то от '/' и до конца строки

Последний раз редактировалось predefined; 01.08.2016 в 00:52.
predefined вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в файл на сервере. Записать то, что после слеша(/) igrok111 PHP 10 13.09.2015 20:43
Выбрать часть строки после последнего указанного символа EndoCrinolog PHP 2 15.11.2012 14:00
подстчет прироста значения после последнего замера getikalex Microsoft Office Excel 12 24.09.2010 00:09
консоль закрывается сразу после выполнения последнего действия F4RR3LL Общие вопросы C/C++ 2 14.09.2008 20:43