Перед удалением тегов обработайте замену строки, чтобы преобразовать специальные символы, которые вы хотите сохранить.
$source = str_replace('<p>', '<p>', $source);
$source = strip_tags($source);
Затем используйте htmlspecialchars_decode(trim($source))
для вывода в html.
IГотов поспорить, что причина неправильной верстки страницы связана с CSS.Внимательно изучите ваш сгенерированный источник (если возможно, с помощью firebug) и убедитесь, что каждый html-элемент также имеет соответствующий закрывающий тег и что ни один из ваших html-элементов не был изменен вашим скриптом, хотя я не знаю, почему онибыть.
Попробуйте изолировать вывод вашего скрипта на пустую страницу, чтобы вы могли ближе познакомиться с тем, что происходит.Затем, если вы уверены, что все должно быть, если проблемы не устранены, попробуйте разместить выходные данные в разных частях вашей страницы.Кроме того, убедитесь, что вы обрезали свой пробел.
Дайте нам знать, что вы найдете.