Simple PHP Templates

This is a simple PHP based template where the variable fields in the template are enclosed in double parenthesis and the actual values are passed in a single array. The entire substitution happens in one step using preg_replace.

If your template string is long, you can either put that in a separate PHP file (and use the include function) or simply use multi-line strings with the Heredoc syntax (delimited by Jeffrey)

<?php

$template = "I am {{name}}, and I work for {{company}}. I am {{age}}.";

# Your template tags + replacements
$replacements = array(
    'name' => 'Jeffrey',
    'company' => 'Envato',
    'age' => 27
);

function bind_to_template($replacements, $template) {
    return preg_replace_callback('/{{(.+?)}}/',
             function($matches) use ($replacements) {
        return $replacements[$matches[1]];
    }, $template);
}

// I am Jeffrey, and I work for Envato. I am 27.
echo bind_to_template($replacements, $template);