Loading...
PHP/MySQL | ббкоди и штмл?
Здравствуйте. Столкнулся со проблемой сделав на сайте бб коды
И если я хочу отредактировать свой пост то они просто становлатся штмл кодом как это исправить


function bb($mes = '')

{
$mes = strip_tags($mes);
$mes = preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-size: 20px">\1</span>', $mes);
$mes = preg_replace('#\[img\](.*?)\[/img\]#si', '<a href=\"\1\" title=\"Нажмите для масштабирования\"><img src=\"\1\" width=\"100\" height=\"100\" alt=\"Картинка\"/></a>', $mes);
$mes = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $mes);
$mes = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $mes);
$mes = preg_replace('#\[s\](.*?)\[/s\]#si', '<strike>\1</strike>', $mes);
$mes = preg_replace('#\[red\](.*?)\[/red\]#si', '<font color="#ff7900">\1</font>', $mes);
$mes = preg_replace('#\[green\](.*?)\[/green\]#si', '<font color="#00FF00">\1</font>', $mes);
$mes = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<font color="#0000FF">\1</font>', $mes);
$mes = preg_replace('#\(.*?)\[/url\]#si', '<a href="\1">\2</a>', $mes);
$mes = preg_replace('#\[cit\](.*?)\[/cit\]#si', '<div class="cit">\1</div>', $mes);
return $mes;
}

function html2bb($mes = '')

{
$mes = preg_replace('#\<span style=\"font-size: 20px\"\>(.*?)\</span\>#si', '<strong>\1</strong>', $mes);
$mes = preg_replace('#\[img\](.*?)\[/img\]#si', '<a href=\"\1\" title=\"Нажмите для масштабирования\"><img src=\"\1\" width=\"100\" height=\"100\" alt=\"Картинка\"/></a>', $mes);
$mes = preg_replace('#\<i\>(.*?)\</i\>#si', '<em>\1</em>', $mes);
$mes = preg_replace('#\<u\>(.*?)\</u\>#si', '<span style="text-decoration:underline;">\1</span>', $mes);
$mes = preg_replace('#\<strike\>(.*?)\</strike\>#si', ' \1 ', $mes);
$mes = preg_replace('#\<font color=\"\#ff7900\"\>(.*?)\</font\>#si', '<span style="color:#ff0000;">\1</span>', $mes);
$mes = preg_replace('#\<font color=\"\#00FF00\"\>(.*?)\</font\>#si', '<span style="color:#00bb00;">\1</span>', $mes);
$mes = preg_replace('#\<font color=\"\#0000FF\"\>(.*?)\</font\>#si', '<span style="color:#0000bb;">\1</span>', $mes);
$mes = preg_replace('#\<a href=\"(.*?)\"\>(.*?)\</a\>#si', '[url=\1]\2
', $mes);
$mes = preg_replace('#\[cit\](.*?)\[/cit\]#si', '<div class="cit">\1</div>', $mes);
return $mes;
}


Модуль для какого движка?
[DCMS] YURA007 (06.09.2017 в 00:19)
Модуль для какого движка?

Типа когда то был стронг
King USA , ясно, я думал для DMCS
значит после редактирования функция ббкодов убирается, там и копай
Как на выводе используй
а поняла.) при ред. обрабатывает наверно фильтр переменную , обрезая символы, которые и перестают быть ббкодаами
punkromain , смотри

Пишу допустим пост в форуме
Из ббкодами жму все норм показуеть но если жму ред. Пост то ббкод становится штмел кодом как это исправить чтобы не наделать глупостей
409212064 , да бб код становится штмел кодом типа из [/br] получается </br> но это только когда редактируешь пост
King USA (06.09.2017 в 19:43)
punkromain , смотри

Пишу допустим пост в форуме
Из ббкодами жму все норм показуеть но если жму ред. Пост то ббкод становится штмел кодом как это исправить чтобы не наделать глупостей

Ак ты html сразу сохраняешь в файл или в базу, сохраняй bb, а потом уже выводи используя функцию bb. Лично я не вижу ничего плохого в том, чтобы хранить код в bb и каждый раз выводить, используя функцию.
Онлайн: 6
Время:
Gen. 0.1204
(c) Bym.Guru 2010-2026