PHP поставляется с простой функцией strip_tag для удаления тегов HTML. Это позволяет определенным тегам не удаляться.
Пример # 1 пример strip_tags ()
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>
Приведенный выше пример выдаст:
Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>
Лично для форума я бы использовал BBCode или Markdown, потому что объем предоставляемой поддержки и функций, таких как предварительный просмотр в реальном времени.