<?php

$array = ['name' => 'John', 'email' => 'john@gmail.com'];
$string = 'Hi [[name]], your email is [[email]]';
echo preg_replace_callback('/\[\[(.*?)]]/', function ($m) use ($array) {
		return isset($array[$m[1]]) ? $array[$m[1]] : $m[0]; 
	}, $string);
