[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите написать регулярное выражение
Гость_Константин
Всем привет. Помогите написать регулярное выражение для функции preg_replace, чтобы происходило следующее: есть, например, такая ссылка: index.php?a=3&b=72&c=12. Нужно сделать так, чтобы исчез параметр b, то есть чтобы ссылка стала вот такой: index.php?a=3&c=12.
А если ссылка была такой: index.php?a=3&c=12&b=72, то должна стать такой: index.php?a=3&c=12.
Другими словами, необходимо просто избавиться от параметра b и его значения.
Если есть вариант без регулярного выражения, то он тоже принимается.
Благодарю!



Спустя 6 минут, 43 секунды (20.11.2010 - 15:41) inpost написал(а):

Спустя 56 минут, 56 секунд (20.11.2010 - 16:38) Guest написал(а):
Да я знаю, как пишутся регулярные выражения, но тут не могу сообразить, помогите пожалуйста.

Спустя 12 минут, 24 секунды (20.11.2010 - 16:50) DySprozin написал(а):
Guest
и в чем проблема?))
$query=preg_replace("#^(.*)&b=[0-9]+((?:[^0-9]|$))#isU","$1$2",$query);

Спустя 13 минут, 51 секунда (20.11.2010 - 17:04) Guest написал(а):
Цитата (DySprozin @ 20.11.2010 - 13:50)
Guest
и в чем проблема?))
$query=preg_replace("#^(.*)&b=[0-9]+((?:[^0-9]|$))#isU","$1$2",$query);

Спасибо большое!

Спустя 5 минут, 59 секунд (20.11.2010 - 17:10) DySprozin написал(а):
хотя... лучше наверное так:

$query=preg_replace("#^(.*)&b=[0-9]+((?:[^0-9]|$).*)$#isU","$1$2",$query);

Спустя 7 минут, 16 секунд (20.11.2010 - 17:17) DedMorozzz написал(а):
$a = preg_replace('#(\?.*?)b=.*?&#','$1&',$a);

Спустя 2 минуты, 59 секунд (20.11.2010 - 17:20) DySprozin написал(а):
DedMorozzz
не катит tongue.gif
было: index.php?a=3&b=72&c=12
стало: index.php?a=3&&c=12

Спустя 1 минута, 8 секунд (20.11.2010 - 17:21) DySprozin написал(а):
было: index.php?a=3&c=12&b=72
стало: index.php?a=3&c=12&b=72

Спустя 20 минут, 21 секунда (20.11.2010 - 17:42) DedMorozzz написал(а):
ну да, есть такое :)
$a = preg_replace('#(\?.*?)b=.*?&?#','$1',$a);
а так?

Спустя 2 минуты, 19 секунд (20.11.2010 - 17:44) DySprozin написал(а):
было: index.php?a=3&c=12&b=72
стало: index.php?a=3&c=12&72
rolleyes.gif

Спустя 14 минут, 32 секунды (20.11.2010 - 17:58) DedMorozzz написал(а):
если у б параметры тока цифры - тогда так:
$a = preg_replace('#(\?.*?)b=[0-9]+#','$1',$a);

Спустя 12 минут, 46 секунд (20.11.2010 - 18:11) DySprozin написал(а):
DedMorozzz
опять мимотазика laugh.gif
получаем: index.php?a=3&c=12&

Спустя 3 часа, 6 минут, 2 секунды (20.11.2010 - 21:17) DedMorozzz написал(а):
нельзя на выходных думать smile.gif Всё равно не выходит ))))) Если будет актуально - в Пн напишу рассово-верную регулярку smile.gif

Спустя 6 минут, 21 секунда (20.11.2010 - 21:24) DySprozin написал(а):
DedMorozzz
а чем таби мой вариант не нравиццо? tongue.gif длинно? rolleyes.gif

Спустя 22 часа, 8 минут, 2 секунды (21.11.2010 - 19:32) DedMorozzz написал(а):
И не универсально

Спустя 27 минут, 44 секунды (21.11.2010 - 19:59) DySprozin написал(а):
;;И не универсально
а вот с этим я бы поспорил tongue.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.