以下是一个使用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。