Функция обрабатывает текстовые строки перед выводом в браузер настоятельно не рекомендуется тут что-либо менять.
Хуки из функции: ds_pre_output_text, ds_output_text
Использование
echo output_text($post['msg']);
Код функции
function output_text($str, $br = 1, $html = 1, $smiles = 1, $links = 1, $bbcode = 1)
{
global $theme_ini;
$array = get_text_array($str);
$data = $array['data'];
$str = $array['content'];
if ($br && isset($theme_ini['text_width']))
$str = wordwrap($str, $theme_ini['text_width'], ' ', 1);
// преобразуем все к нормальному перевариванию браузером
if ($html) $str = htmlentities($str, ENT_QUOTES, 'UTF-8');
$str = use_filters('ds_pre_output_text', $str);
preg_match_all('/\[code\](.+)\[\/code\]/isU', $str, $replace_code);
if (!empty($replace_code[0])) {
$str = preg_replace('/\[code\](.+)\[\/code\]/isU', '#!%code%;', $str);
}
// обработка ссылок
if ($links)
$str = links($str);
// вставка смайлов
if ($smiles)
$str = smiles($str);
// обработка bbcode
if ($bbcode) {
$str = bbcode($str);
}
// переносы строк
if ($br) {
$str = br($str);
}
if (!empty($replace_code[1])) {
foreach($replace_code[1] AS $key => $value) {
$str = str_replace_once('#!%code%;', '<pre><code>' . trim($replace_code[1][$key]) . '</code></pre>', $str);
}
}
$str = use_filters('ds_output_text', $str);
if (!empty($array['data']['attachments'])) {
$attachments = get_output_media($array['data']['attachments']);
if ($attachments) {
$str = $str . '<div class="ds-messages-attachments">' . $attachments . '</div>';
}
}
return stripslashes($str);
}