What is the purpose of using preg_replace_callback in PHP?

When we need to perform a more complex replacement operation on a string using regular expressions in PHP, we can use the preg_replace_callback function. This function allows us to define a callback function that will be executed for each match found in the input string. This is useful when we need to perform dynamic replacements, manipulate the matched strings, or perform more advanced logic during the replacement process.

$input_string = "Hello, my name is [NAME]!";
$output_string = preg_replace_callback('/\[(.*?)\]/', function($matches) {
    // Perform some custom logic here based on the matched string
    $replacement = strtoupper($matches[1]); // Example: Convert the matched string to uppercase
    return $replacement;
}, $input_string);

echo $output_string; // Output: Hello, my name is NAME!