А, это значит я туплю.
В любом случае должен быть один вопрос - одна тема.
Короче, через <pre> - это самый тупой способ. Ответ в теме - это больше насмешка над нубом, чем нормальный совет.
для безопасности надо любые выводимые данные прогонять через htmlspecialchars(), кроме тех, которые специально отмечены, как безопасный HTML.
для форматирования обычно достаточно заменять переводы строк. ereg_replace для этого слишком жирно, есть str_replace или специальная функция nl2br()
если тебе нужно какое-то особенное форматирование, то роди уже наконец точное описание этого форматирования - откуда оно, зачем, и почему его надо сохранять, но при этом обрезать.
с примерами.