Что такое Bbcode, для чего, как используют, функция примеры
Нам нужно было разделить bbcode теги и страницу о том, как работают Bbcod-ы, как вообще это работает! Зачем это нужно! И что такое Bbcode
Дополнительно сделали оглавление по BBCODE
Все о Bbcode, как работает, примеры использования ббкодов
- Что такое Bbcode, как расшифровывается, что обозначает
- Алгоритм, принцип работы Bbcode
- Как происходит замена Bbcode!? -> живой пример
- Как работает функция замены
Bbcode тегов ->теги Html - Готовая к использованию функция замены bbcode тегов на html теги
- Как заменить
теги Html на ->Bbcode теги -> живой пример - Bbcode в javascript
- Живой пример Bbcode вместе с формой и описанием!
Что такое Bbcode, как расшифровывается, что обозначает
Bbcode - это язык разметки используемый для форматирования сообщений
Для форматирования текста используются теги, подобные тегам HTML. В отличие от тегов HTML, теги bbCode заключают в квадратные скобки
Как расшифровывается bbCode
Bbcode это Bulletin Board Code, что переводится как Код Доски ОбъявленийАлгоритм, принцип работы Bbcode
Из выше сказанного мы поняли, что bbcode теги - это теги заключенные в квадратные скобки!
Мы на своем сайте используем bbcode - просто ... потому, что это удобно!
И вы даже и не заметите. где они применяются!
Итак... самый простой пример, как это работает...
У нас есть какой-то тег ббкодов, например:
[b] Жирный текст [/b] - и вы должны были увидеть вот это : Жирный текст
Алгоритм работы Bbcode
Т.е. как вы поняли, то вот такая запись :
Как происходит замена Bbcode!?
Есть несколько способов замены Bbcode на Html теги(не буду рассказывать о всех, расскажу только о том, который выбрал я и почему именно этот...).
Весь вот этот текст, который вы читаете находится в переменной! Обрабатывается множеством функций и в том числе функцией Bbcode
Это компактный пример функции замены в BBcode(повторяю еще раз - php - это не математика и здесь решения могут быть разными!)
В первую очередь - нам нужно понять, как это работает...
Поскольку у нас живой пример, то прямо здесь выведем данную переменную:
Результат:
$searchexample = array(
'/текста/'
);
$replaceexample = array(
'пример замены'
);
return preg_replace ($searchexample , $replaceexample , $example);
$example = 'здесь много разного текста и где-то есть, что будем менять ' ;
function BBcodeexample($example)
{
$searchexample = array(
'/текста/'
);
$replaceexample = array(
');
return preg_replace ($searchexample , $replaceexample , $example);
}
echo BBcodeexample($example);
Принцип замены BBcode - надеюсь понятен!
Как работает функция замены Bbcode тегов на теги Html
Относительно принципов замены в bbcode, надеюсь разобрались в выше приведенном примере! Единственно там не использовали сами ббкоды, чтобы не усложнять и так сложное...
Теперь же нам нужно, что мы прошли в пункте принцип замены bbcode пройти уже с самими ббкодами...
Внутри функции два массива
И функция
И внутри каждой стрічки первого массива -
И во втором массиве -
function BBcode($example)
{
$search = array(
'/\[h2\](.*?)\[\/h2\]/is',
'/\[h3\](.*?)\[\/h3\]/is',
'/\[h4\](.*?)\[\/h4\]/is'
);
$replace = array(
'<h2>$1</h2>',
'<h3>$1</h3>',
'<h4>$1</h4>',
);
return preg_replace ($search, $replace, $example);
}
Готовая к использованию функция замены bbcode тегов на html теги
Далее готовая функция замены bbcode тегов на html теги - вы можете скопировать её и пользоваться! Если вдруг тегов bbcode не хватает, то вот здесь bbcode теги
Массивы BBcode для функции BBcode
Ну и далее, у нас есть два массива и функция :
$search = array('/\[h1\](.*?)\[\/h1\]/is',
'/\[h2\](.*?)\[\/h2\]/is',
'/\[h3\](.*?)\[\/h3\]/is',
'/\[h4\](.*?)\[\/h4\]/is',
'/\[h5\](.*?)\[\/h5\]/is',
'/\[L\](.*?)\[\/L\]/is',
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[QUOTE\](.*?)\[\/QUOTE\]/is',
'/\[RIGHT\](.*?)\[\/RIGHT\]/is',
'/\[LEFT\](.*?)\[\/LEFT\]/is',
'/\[CENTER\](.*?)\[\/CENTER\]/is',
'/\[font=Serif\](.*?)\[\/font\]/is',
'/\[font=Sans_serif\](.*?)\[\/font\]/is',
'/\[font=Monospace\](.*?)\[\/font\]/is',
'/\[font=Cursive\](.*?)\[\/font\]/is',
'/\[font=Fantasy\](.*?)\[\/font\]/is',
'/\[font=Times_New_Roman\](.*?)\[\/font\]/is',
'/\[font=Georgia\](.*?)\[\/font\]/is',
'/\[font_size=xx_small\](.*?)\[\/font_size\]/is',
'/\[font_size=smaller\](.*?)\[\/font_size\]/is',
'/\[font_size=x_large\](.*?)\[\/font_size\]/is',
'/\[font_size=xx_large\](.*?)\[\/font_size\]/is',
'/\[ol\]/is',
'/\[\/ol\]/is',
'/\[ul\]/is',
'/\[\/ul\]/is',
'/\[li\](.*?)\[\/li\]/is',
'/\[s\](.*?)\[\/s\]/is',
'/\[sup\](.*?)\[\/sup\]/is',
'/\[sub\](.*?)\[\/sub\]/is',
'/\[img\](.*?)\[\/img\]/is',
'/\[url\](.*?)\[\/url\]/is',
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[COLOR\="(.*?)"\](.*?)\[\/COLOR\]/is',
'/\[YOUTUBE\]https:\/\/youtu.be\/(.*?)\[\/YOUTUBE\]/is'
);
$replace = array('<h1>$1</h1>',
'<h2>$1</h2>',
'<h3>$1</h3>',
'<h4>$1</h4>',
'<h5>$1</h5>',
'<L>$1</L>',
'<strong>$1</strong>',
'<em>$1</em>',
'<u>$1</u>',
'<blockquote>$1</blockquote>',
'<right style="display: block;text-align: right;">$1</right>',
'<left style="display: block;text-align: left;">$1</left>',
'<center>$1</center>',
'<span style="font-family:serif;">$1</span>',
'<span style="font-family:sans-serif;">$1</span>',
'<span style="font-family:monospace;">$1</span>',
'<span style="font-family:cursive;">$1</span>',
'<span style="font-family:fantasy;">$1</span>',
'<span style="font-family:Times New Roman, Times, serif;" >$1</span>',
'<span style="font-family:Georgia, serif;">$1</span>',
'<span style="font-size:xx-small;">$1</span>',
'<span style="font-size:smaller;">$1</span>',
'<span style="font-size:x-large;">$1</span>',
'<span style="font-size:xx-large;">$1</span>',
'<ol>',
'</ol>',
'<ul>',
'</ul>',
'<li>$1</li>',
'<s>$1</s>',
'<sup>$1</sup>',
'<sub>$1</sub>',
'<img src="$1" class="in_text">',
'<a href="$1">$1</a>',
'<a href="$1">$2</a>',
'<span style="color:$1">$2</span>',
'<iframe style ="width:100%;height:40%;" src="https://www.youtube.com/embed/$1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope;" allowfullscreen></iframe>'
);
Функция BBcode php
function BBcode($into) {
global $search; global $replace;
return preg_replace ($search, $replace, $into);
}
Как заменить теги Html на -> Bbcode теги
Что нам нужно далее... к примеру мы хотим наш html код с текстом вернуть в видео текста , но уже с тегами BBCODE вместо html тегов...
Все происходит до банальности аналогично, что было рассказано выше, только в обратную сторону! Не вижу никакого смысла повторяться!
Поскольку мы еще не написали эти функции для себя, то придется написать короткий пример, как происходит возвращение BBCODE тегов...
function backBBcode($html) {
$html = preg_replace ('/\<b(.*?)>(.*?)<\/b>/is', "[b$1]$2[/b]", $html);
return $html;
}
$example2 = 'Это другой текст <b>текст внутри тега</b> и где-то есть, что будем менять ' ;
function backBBcode($html) {
$html = preg_replace ('/\<b(.*?)>(.*?)<\/b>/is', "[b$1]$2[/b]", $html);
return $html;
}
echo backBBcode($example2);
Ну и собственно результат превращения html тегов в BBCODE теги:
Bbcode использование функция пример функция bbcode использование bbcode все про ббкод