доделать работу strip_tags

Baranov_Dron

Новичок
доделать работу strip_tags

В мане этой функции указано
Внимание Эта функция не изменяет атрибуты тэгов, указанных в аргументе allowable_tags , включая style и onmouseover.
А зря, что не сделали дополнительный аргумент, чтобы атрибуты чистить.
Просто, иногда пользователи в форму вставляют код типа <p align = center> а нужно допустим только <p> разрешить, без доп. атрибутов.
Так удобная функция strip_tags, указал теги разрешённые и красота, но вот потом вручную чистить теги от атрибутов замучаешься.
PHP:
$this->text = preg_replace("!<strong[^>]*?>!si", "<strong>", $this->text );
$this->text  = preg_replace("!<ol[^>]*?>!si", "<ol>", $this->text );
$this->text  = preg_replace("!<ul[^>]*?>!si", "<ul>", $this->text );
etc
вызывает куча ошибок... например теги <br> и <b> неправильно срабатывают...
И вообще конструкция вязкая и неудобная... У кого есть лучше идея для решения этой задачи...
ЗЫ тупо написать и отдебажить кучу регулярок могу, но это велосипед, который в любой момент может выйти из строя. Ищу более изящные решения, но например встроенных функций php для этой задачи не нашёл...
 
Сверху