LINUX.ORG.RU

PCRE


0

0

Всех со Старым новым годом! У меня возник вопрос по PCRE. Как можно в строке URI заменить (GET запроса) изменить переменную, скажем две, low_price и hi_price. К примеру, у меня есть $url = $_SERVER[«REQUEST_URI»] = "http://somesite.com/search.php?s=intel&low_price=50&hi_price=100&page=2", как поменять переменные low_price и hi_price? Я пишу следующее: preg_replace(«/low_price=/\d+/&hi_price=/\d+», «low_price=200&hi_price=300», $url);

Но матюкается на синтаксис, поправьте, пожалуйста. Заранее благодарен

судя по твоему регулярному выражению, в них ты полный профан
топик надо было назвать «напишите для меня регулярное выражение»
советую тебе не пытаться решать задачи с помощью технологий в которых ты не ориентируешься
а пока тебе подойдет замечательная функция php.net/parse_str

trashymichael ★★★
()
Ответ на: комментарий от trashymichael

Перед тем как кого-то хулить, что он не компетентен в вопросе, надо хотя бы дать ответ на вопрос. Я нашел ответ в Гугле: preg_replace(«#low_price=([\d]+)&hi_price=([\d]+)#»... «low_price=200&hi_price=300», $url); Все, что я опустил так это, группировочные скобки и прямые слеши были ни при чем :P

orLando
() автор топика
Ответ на: комментарий от orLando

> Я нашел ответ в Гугле

Случайность, не более

Все, что я опустил так это, группировочные скобки

Ты пропустил главу «регулярные выражения» в книжке «php за 24 часа»

прямые слеши были ни при чем :P

А ты добавь их в итоговое реулярное выражение, зачем убрал-то раз они не при чем ;-)

p.s. кстати, тебе не приходило в голову, что в QUERY_STRING порядок пар «ключ=значение» может быть произвольным ;-)

saluki
()
Ответ на: комментарий от orLando

> Перед тем как кого-то хулить, что он не компетентен в вопросе, надо хотя бы дать ответ на вопрос.

Это кто тебе такое сказал?

По теме: залезь в учебник и почитай, зачем в preg_* нужны прямые слеши.

И да, зачем править query_string, если можно присвоить значения элементам $_REQUEST?

friday ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.