Обычно я делаю это, имея файл шаблона текстового документа с частями, которые я хочу заменить, используя ключевые слова (обычно что-то вроде "{FIRSTNAME}").
Это позволяет вам прочитать файл через PHP, затем просто выполнить str_replace для всех частей, которые вы хотите заменить, а затем записать это в другой файл.
Динамические таблицы, использующие этот метод, немного сложнее, так как вам нужен вспомогательный шаблон для строки, который можно затем включить в основной шаблон столько раз, сколько потребуется.
Я не уверен, что это лучшее решение, оно всегда казалось мне очень сложным, и каждый раз, когда меня просят сделать это, я расстраиваюсь, но я думаю, это работает. Так что, если кто-нибудь знает лучшее решение, я бы тоже хотел его услышать!