Хорошо, если вы вызываете BBcodeParser::toHtml($input, true)
со своим вводом, тогда возвращается следующее:
<strong>hello</strong> <strong>hello2</strong>
Это потому, что CHtml::encode
применяется перед preg_replace, оставляя созданный HTML-кодпосле того, как от BBcode нетронутым, при экранировании HTML-кода из входных данных (секунд <strong>
, этот вокруг hello2
).
Теперь, если вы снова примените CHtml::encode
к результату"Escape" BBcode становится таким, как вы отправили (обратите внимание на <
в первом сильном и &lt;
во втором):
<strong>hello</strong>&lt;strong&gt;hello2&lt;/strong&gt;
В первом случае кажется, что кодировки вообще нет.