Есть такой простой код:
$pattern ="/\[download#([0-9]{1,3})(.*?)\]/i";
$replacement = '[$1]';
$content = preg_replace($pattern, $replacement, $content);
Я хотел бы перед началом работы preg_replace совершить некоторые действия с данными, записаными в $replacement и сформировать его повторно, немного изменив. Но , похоже, я ничего не могу сделать с $1, пока она не прошла preg_replace. Это печальное открытие для меня и как то противоречит самой логике кода, ведь стоит же
$replacement = '[$1]';
но если я начинаю использовать $replacement, то выдает ошибку
undefined variable