Use grupos nomeados no preg_match do PHP 8.3, leia $matches pelo nome e mate o warning do grupo opcional com PREG_UNMATCHED_AS_NULL.
Aprenda a bloquear .env e .git no nginx e também dumps .sql e .bak, sem a brecha do location ^~ que libera arquivo oculto dentro de uploads.
Tire a chave de API do código com variável de ambiente, bloqueie o .env no nginx e saiba o que fazer quando o segredo já foi commitado.
Use preg_replace_callback no PHP para calcular a substituição de cada match, com exemplo de desconto em preços e as pegadinhas do retorno nulo.