|
|
|
| помогите заменить второй ? на & с помощью регвыра.
мне надо переписать URL. противный банк возвращает его после оплаты, цепляя свою переменную в конец. в результате получается
http://www.site.gr/page.php?page=ok?ref=140684034afbde28a02d
и страница не открывается :( | |
|
|
|
|
автор: .... (14.11.2009 в 14:51) |
|
|
для: elenaki
(13.11.2009 в 10:29)
| | Не пойму является.ли исходным текстом html.код или просто адресс ссылки. Так.то может и такое работать с одной строкой где только два вопроса.
preg_replace('#(\?.*)\?#', '$1&', 'xxxxx?xxxxxxx?xx&x'); | |
|
|
|
|
|
|
|
для: ....
(14.11.2009 в 14:51)
| | это именно одна строка - URL. менять ее я собираюсь в mod rewrite, чтобы он переделал
линк на правильный и направил на страницу page.php?page=ok&ref=12345... попробую в
понедельник. пока спасибо за ответ. | |
|
|
|
|
автор: .... (14.11.2009 в 19:06) |
|
|
для: elenaki
(14.11.2009 в 18:06)
| | при более двух вопросов будет наверное
[^\?]* вместо .*
всмысле
preg_replace('#(\?[^\?]*)\?#', '$1&', 'xxxxx?xxxxxx?xx&x');
, заменит именно второй из трёх вопросов
Но при более трёх заменится каждый второй, а с .* только один , последний.
Только нужно проверять без риска совсем потерять данные из-за возможных ошибок :) ато бывало у меня такое | |
|
|
|
|
|
|
|
для: ....
(14.11.2009 в 19:06)
| | да нет, трех вопросов там уже не будет.
оказывается URL с параметрами в Apache не поменять... :( ну, я уже по-другому сделала -
с помощью выражения, которое мне тут подсказали, вытянула нужный параметр и потом
сделала переадресацию на нужную страницу с нужными параметрами. всем спасибо! | |
|
|
|