Здравствуйте!
Имеется скрипт отправки форм с сайта на e-mail.
Для каждой формы используется свой шаблон .tpl
...
<tr>
<td><strong>%%matr_sever.title%%</strong></td>
<td colspan="2">%%matr_sever.value%%</td>
</tr>
<tr>
<td><strong>%%matr_mezen.title%%</strong></td>
<td colspan="2">%%matr_mezen.value%%</td>
</tr>
...
Код ниже парсит шаблон формы и подставляет в письмо введенные данные:
function tpl($vars) {
$tpl = 'tpl/'.$vars['name'].'.tpl';
if(file_exists($tpl)) {
$template = file_get_contents($tpl);
foreach($vars['getdata'] as $name => $data) {
$template = str_replace(array("%%".$name.".title%%", "%%".$name.".value%%"), array($data['title'], $data['value']), $template);
}
return $template;
}
else {
return false;
}
}
Но есть проблема, если поле остается пустым, то в письме выводится переменная как в шаблоне, например "%%matr_mezen.title%%".
Как модифицировать код парсера, чтобы он искал незамененные переменные и делал вместо них пустые поля.
Предположу, что работает следующий код:
$template = preg_replace('/%%.*?%%/is', 'здесь пусто', $template);
return $template;
Но в PHP вообще не соображаю =( и не могу модифицировать код парсера...