- preg_replace_callback: documentation ( source)
<?php
$optimization_prompt = '[not a key] The product title is [title] and the price is [price] and this product link is [link]';
$get_product = ['title' => 'theTitle', 'price' => 45, 'link' => 'https://thelink.com'];
$result = preg_replace_callback(
'~\[([^][]+)]~',
fn($m) => $get_product[$m[1]] ?? $m[0],
$optimization_prompt
);
echo $result;