Как заменить только 1 повторяющийся элемент строки через регулярные выражения?

Есть строка: /states/kvartiry/osn_komnati-is-1/apply/&field=CREATED_DATE&method=ASC&PAGEN_1=2

Необходимо заменить первый & на ?

Как можно обратиться к нему и заменить?


Ответы (1 шт):

Автор решения: Daniil Loban

Ниже предствлено решение, мы получаем 3 части (до &, &, после &) потом вместо второй чати вставляем ?:

$url = "/states/kvartiry/osn_komnati-is-1/apply/&field=CREATED_DATE&method=ASC&PAGEN_1=2";
$res = preg_replace('/([^&]*)(&)(.*)/','$1?$3', $url);
→ Ссылка