нужна помощь с регулярками / php

DG
На сайте с 07.01.2007
Offline
53
439

Господа, вот такая проблема.

Есть URL вида

http://site.ru/index.php?id=var1&id2=var2?menu=1&id=2&var=3

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

http://site.ru/index.php?id=var1&id2=var2

Моя регулярка preg_match ("|(.*?)\?(.*?)|si", $URL, $match); не катит - она режет по первому вопросительному знаку, а как сделать по последнему, не пойму.

мой блог - заработок в сети (http://izombie.ru)
edogs software
На сайте с 15.12.2005
Offline
775
#1

preg_match ("~(.*)\?~si", $URL, $match);

или если основываться на Вашей регулярке, Вам ограничители жадности там мешают

preg_match ("|(.*)\?(.*)|si", $URL, $match);

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
[Удален]
#2

до чего пошли программеры .... простых вещей ужо не знают =)) регулярки их совсем развратили

<?

$str = "http://site.ru/index.php?id=var1&id2=var2?menu=1&id=2&var=3";

echo substr($str,0,strrpos($str,"?"));

Апокалипсис
На сайте с 02.11.2008
Offline
391
#3
bearman:
до чего пошли программеры .... простых вещей ужо не знают =)) регулярки их совсем развратили

Угу. http://ru2.php.net/parse_url

Записки нищего (http://zapiskinishego.ru) - мой личный блог Услуги php программиста. Очень нужна любая работа. Не покупают? Поведенческий аудит интернет-магазина за 5000 руб. (/ru/forum/990312)
[Удален]
#4

Апокалипсис, онотолей, ты ли это ? :D

denex
На сайте с 29.04.2009
Offline
7
#5

DimoninG, parse_url. +1 к Вассерману.

Несколько строк кода.

Создание Интернет-проектов любой сложности (социальные сети, медиа-порталы, сайты-визитки, Интернет-магазины, CMS и т.д.) (http://www.tyurin.net)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий