grisha2217
Проверенные
- Сообщения
- 913
- Решения
- 6
- Реакции
- 1,389
- Баллы
- 5,715
Задача: отключить бб коды у постов, которые уже есть в базе (то есть сообщение лежит в базе и содержит бб коды)
Как по дефолту в ксене:
Как сделал я:
В итоге ксен убирает все нужные бб коды из текста (жирный, цвет, размер и тд) и ОТКЛЮЧАЕТ поддержку остальных ббкодов:
То есть, скрипт успешно вырезает лишние ббкоды, а на остальное не реагирует вообще, хотя XenForo_BbCode_Formatter_BbCode_Filter фактически наследник XenForo_BbCode_Formatter_Base
Как по дефолту в ксене:
PHP:
// Где то в теле функции renderHtml() в XenForo_ViewPublic_Thread_View
$formatter = XenForo_BbCode_Formatter_Base::create('Base', array('view' => $this));
$bbCodeParser = XenForo_BbCode_Parser::create($formatter);
XenForo_ViewPublic_Helper_Message::bbCodeWrapMessages($this->_params['posts'], $bbCodeParser, $bbCodeOptions);
Как сделал я:
PHP:
/** @var XenForo_BbCode_Formatter_BbCode_Filter $formatter */
$formatter = XenForo_BbCode_Formatter_Base::create('XenForo_BbCode_Formatter_BbCode_Filter', array('view' => $this));
$formatter->disableTags(['b', 'i', 'u', 's', 'color', 'font', 'size', 'left', 'center', 'right', 'indent']);
XenForo_ViewPublic_Helper_Message::bbCodeWrapMessages($this->_params['posts'], $bbCodeParser, $bbCodeOptions);
В итоге ксен убирает все нужные бб коды из текста (жирный, цвет, размер и тд) и ОТКЛЮЧАЕТ поддержку остальных ббкодов:
Код:
[IMG]https://pp.userapi.com/c845420/v845420061/dd428/6tUj98vf-kc.jpg[/IMG]
[USER=654397]@HuKoTuH1337[/USER], отвал чего?
То есть, скрипт успешно вырезает лишние ббкоды, а на остальное не реагирует вообще, хотя XenForo_BbCode_Formatter_BbCode_Filter фактически наследник XenForo_BbCode_Formatter_Base