Фильтрация nbsp на выдаче. Htmlpurifier? Другой модуль? preg_replace не отрабатывает

Главные вкладки

Аватар пользователя Telefax Telefax 1 марта 2016 в 22:19

Вставляю через Ckeditor (полноценный модуль, а не часть wysiwyg) контент, часть контента имеет nbsp пробелы, которые на выдаче во views портят верстку. Отключить html совсем не могу т.к. нужно сохранить ссылки. Ранее это лечилось через tpl со следующим кодом:

<?php 
$output 
preg_replace("/(<(p|P|br|BR|bR|Br)(| [^>]*)>)/"""$output); //просто удаляем
$output preg_replace("/(<\/(p|P|br|BR|bR|Br)(| [^>]*)>)/"" "$output); //меняем на пробел
$output preg_replace("/(&nbsp;[\r\n\t ]*)+/"" "$output); //удаляем двойные пробелы
$output preg_replace("/^&nbsp;/"""$output); //удаляем пробел в начале строки
$output preg_replace("/&nbsp;/"" "$output); //меняем nbsp на обычный пробел
echo $output?>

Однако после ряда обновлений этот код перестал корректно отрабатывать в части nbsp, в других частях работает нормально. В базе содержимое лежит с nbsp. Html purifier и Typogrify пробовал отключать, ничего не меняется.

В чем может быть проблема? В целом готов в принципе пожертвовать nbsp во всем контенте, не только во views - можно ли это реализовать через html purifier или отдельный модуль?