以下是一個使用preg_replace_callback函數的最佳實踐案例:
$text = "Hello, my name is [NAME] and I am a [JOB].";
$replacements = array(
'NAME' => 'John',
'JOB' => 'developer'
);
$newText = preg_replace_callback('/\[([A-Z]+)\]/', function($matches) use ($replacements) {
$key = $matches[1];
return isset($replacements[$key]) ? $replacements[$key] : $matches[0];
}, $text);
echo $newText; // Output: Hello, my name is John and I am a developer.
在這個示例中,我們首先定義了一個包含替換值的關聯數組$replacements。然后,我們使用preg_replace_callback函數來查找文本中的匹配項,并將其替換為相應的值。回調函數接收一個匹配數組$matches作為參數,并根據匹配的鍵來查找替換值。最后,我們得到了新的文本$newText,其中[NAME]被替換為John,[JOB]被替換為developer。