Simple PHP Templates with Placeholders in Curly Braces

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 <<<).

<?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);

Amit Agarwal is a web geek, solo entrepreneur and loves making things on the Internet. Google recently awarded him the Google Developer Expert and Google Cloud Champion title for his work on Google Workspace and Google Apps Script.

Awards & Recognition

Google Developer Expert

Google Developer Expert

Google awarded us the Developer Expert title recogizing our work in Workspace

ProductHunt Golden Kitty

ProductHunt Golden Kitty

Our Gmail tool won the Lifehack of the Year award at ProductHunt Golden Kitty Awards

Microsoft MVP Alumni

Microsoft MVP Alumni

Microsoft awarded us the Most Valuable Professional title for 5 years in a row

Google Cloud Champion

Google Cloud Champion

Google awarded us the Champion Innovator award for technical expertise

Want to stay up to date?
Sign up for our email newsletter.

We will never send any spam emails. Promise 🫶🏻