Оптимально ли написан код?
1) для таких вещей не очень удобно использовать регулярки. Разбирать xml/html регулярками вообще вредно
2) логичнее в тег pre ничего не добавлять что бы ненароком не удалить лишнего. Вдруг там по замыслу автора уже стоял тег .
3) проще сразу убрать лишние строки или еще круче - завернуть их в параграфы.
Оптимальность — это многофакторная метрика. Если выполняет задачу, выполняет быстро, то почему бы и нет.