Я бы также советовал не хранить HTML в базе данных. Гораздо удобнее хранить их как шаблоны в файловой системе и включать их или анализировать, когда это необходимо. Я также рекомендую использовать что-то вроде Smarty. Это очень удобный инструмент.
Однако, если бы вы предпочли сделать это вручную, вот что я бы сделал.
Во-первых, я бы сохранил шаблон в файле в файловой системе. Если вы предпочитаете использовать базу данных, это можно сделать для. Просто знайте, что база данных, как правило, вызывает больше накладных расходов при использовании для подобных вещей.
Например, в случае видео на YouTube:
<object width="{$width}" height="{$height}">
<param name="movie" value="http://www.youtube.com/{$path}"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/{$path}"
type="application/x-shockwave-flash"
allowscriptaccess="always"
allowfullscreen="true"
width="{$width}" height="{$width}">
</embed>
</object>
Тогда я бы просто str_replace
включил переменные PHP, как и сам PHP со строками.
<?php
$template_path = 'templates/youtube_vid.tpl';
$template_data = file_get_contents($template_path);
$old = array('{$width}', '{$height}', '{$path}');
$new = array(425, 344, 'v/zuZB2O6orV0&hl=en_US&fs=1&');
echo str_replace($old, $new, $template_data);
?>
И это было бы.
Конечно, вы можете использовать <?php $width; ?>
-подобные заполнители и просто include
шаблон, но это подвергает вас риску инъекционных атак. Это более безопасный маршрут.