How can I handle if/else/foreach statements within a replace function for placeholders in PHP?

When using if/else/foreach statements within a replace function for placeholders in PHP, you can use a combination of concatenation and conditional statements to handle different scenarios. By checking the conditions within the replace function and dynamically generating the replacement value based on those conditions, you can effectively replace the placeholders with the desired content.

// Sample code snippet demonstrating how to handle if/else/foreach statements within a replace function for placeholders in PHP

$data = [
    'name' => 'John Doe',
    'age' => 30,
    'is_student' => true,
    'courses' => ['Math', 'Science', 'History']
];

$content = 'Hello {name}! You are {age} years old.';
$content = preg_replace_callback('/\{([^}]+)\}/', function($matches) use ($data) {
    $placeholder = $matches[1];
    
    switch ($placeholder) {
        case 'name':
            return $data['name'];
        case 'age':
            return $data['age'];
        case 'is_student':
            return $data['is_student'] ? 'Yes' : 'No';
        case 'courses':
            return implode(', ', $data['courses']);
        default:
            return '';
    }
}, $content);

echo $content;