Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Регулярное выражение


Автор: ZeusX 1.4.2010, 13:18
Всем привет,

вот возник вопрос как узнать какая из 3х переменных стоит последней в ссылке...

есть ссылки типа:

Цитата

http://www.mysite.ru/category/?cat=1234


Цитата

http://www.mysite.ru/category/?cat=1234&tip=1234


Цитата

http://www.mysite.ru/category/?cat=1234&tip=1234&sok=23



как узнать какая последняя переменная в ссылке cat, tip или sok? 

Автор: MoLeX 1.4.2010, 13:35
ZeusX, 
Код

print_r($_GET);

Автор: ZeusX 1.4.2010, 13:36
MoLeX, 

Это текст, это куча строк в html какой _GET ?

Автор: patap 1.4.2010, 14:02
ну если ссылка уже готовая, то можно так

Код
  preg_match('#&([a-zA-Z0-9_]+)=.*$#', $link, $match);
  print_r($match);


а если нет, то предварительно еще нужно выдирать ссылку из текста, регулярок решающих эту задачу в инете полно

Автор: MoLeX 1.4.2010, 14:06
ZeusX, не подумал что это текст)

Автор: ZeusX 1.4.2010, 14:16
patap, 

Не помогло, а ссылку я уже выдираю... у меня массив ссылок и мне надо узнать какая последняя переменная в сслылке и ее значение

Автор: bars80080 1.4.2010, 14:25
а какая разница какая последняя? если у вас уже есть эта ссылка, то какая разница как их парсить?

Автор: SelenIT 27.4.2010, 10:17
Регуляркой типа '/[^?&]+$/'? Но вообще разделяю недоумение bars80080: зачем знать порядок переменных, не важнее ли найти какую-то конкретную?

Автор: ksnk 27.4.2010, 11:20
SelenIT, можно, например, пытаться выяснять - ссылки идут с твоего сайта или же с отдельной вороватой системы. Просто периодически тасовать параметры в ссылке местами. Как бы дешево и про войну... Другое дело, что реактивность этакой "защиты" будет примерно равна реактивности поисковых серверов, но для статистики - довольно забавно...

Другого разумного применения такой фенечке вообразить пока не удалось :(


Автор: SelenIT 27.4.2010, 11:40
ksnk, вариант... например, для случая, когда прокся режет реферер. Но как-то очень уж экзотично.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)