php регулярные выражения. Пример получения get параметра из пути

Получаем get-параметр из пути с помощью функции preg_match():

preg_match(
    '%^.+ref=(.+)?&*$%',
    $request->getUri(),
    $matches
);
  • %% - делиметры
  • ^$ - начало и конец строки
  • ref= - имя get-параметра
  • (.+) - непосредственно значение get-параметра, положеное в "карман"
  • ?&* - возможно встретится &, отделяющий следующий параметр.

В $matches[0] - будет вся строка пути, если совпадение найдено
В $matches[1] - наше значение параметра

if (!empty($matches)) {
    $ref = $matches[1];
    // ...
}

Источники