Я хочу создать пользовательский BBCode для моего сайта на форуме, но у меня возникла проблема, и мне сложно его исправить.PHP String Replace for BBCode
Это то, что находится в базе данных для тела потока. [B] Полужирный [/ b] [i] Курсив [/ i] [strike] Strike [/ strike] ".
Однако вывод отображается следующим образом: «[i] Курсив [/ i] [strike] Strike [/ strike]".
Итак, я предполагаю, что это проблема с эхом, но я не знаю, как это исправить. Вот текущий код:
function bbcode($input) {
$input = strip_tags($input);
$input = htmlentities($input);
$search = array('/\[b\](.*?)\[\/b\]/is');
$replace = array('<b>$body</b>');
return preg_replace($search, $preg_replace, $input);
}
while($row = mysql_fetch_array($threadquery, MYSQL_ASSOC)) {
$body = str_replace("\n",'<br>', $row['body']);
}
echo bbcode($body);
Почему бы не спасти себя неприятности и использовать тот, который был проверен и доверенный? Я бы предложил использовать [Parsedown] (http://parsedown.org/). – Script47
bbcode немного устарел, просто вставляйте редактор, например, редактор cke: http://ckeditor.com/ –
@Anthony Попробуйте мою библиотеку для разбора коротких кодов и BBCodes: github.com/thunderer/Shortcode. Если вам нужна дополнительная информация, отправьте вопрос, и я помогу. –