Парсинг BB-кодов

Парсинг BB-кодовЕсли Вы создавали форум или создавали возможность комментирования на сайте, то, вполне вероятно, что Вы сталкивались с BB-кодами. На всякий случай, BB-коды - это набор тегов, похожих на HTML-теги. которые созданы для редактирования внешнего вида сообщения. Например, [b][/b]. [url=http://google. ru]Google[/url]. [img]http://myrusakov. ru/img. jpg[/img] - это всё различные BB-коды. И вот задача программиста состоит в том, чтобы преобразовать BB-коды в HTML-код. Вот парсингом BB-кода и превращением его в HTML-код. мы и займёмся в этой статье.

Сразу привожу код этого скрипта, а точнее функции, которая принимает текст с BB-кодами. а возвращает уже HTML-код :

"#\\\n#is",

"#\[b\](.+?)\[\/b\]#is",

"#\[i\](.+?)\[\/i\]#is",

"#\[u\](.+?)\[\/u\]#is",

"#\[code\](.+?)\[\/code\]#is",

"#\[quote\](.+?)\[\/quote\]#is",

"#\[listn](.+?)\[\/listn\]#is",

"#\[\*\](.+?)\[\/\*\]#"

$str_replace = array(

"<br />",

"<b>\\1</b>",

"<i>\\1</i>",

"<span style='text-decoration:underline'>\\1</span>",

"<code class='code'>\\1</code>",

"<table width = '95%'><tr><td>Цитата</td></tr><tr><td class='quote'>\\1</td></tr></table>",

"<a href='\\1'>\\2</a>",

"<span style='font-size:\\1%'>\\2</span>",

"<span style='color:\\1'>\\2</span>",

"<ul>\\1</ul>",

"<ol>\\1</ol>",

"<li>\\1</li>"

return preg_replace($str_search, $str_replace, $text_post);

Надеюсь, данная функция поможет Вам в парсинге BB-кодов. По аналогии, Вы можете добавить ещё различных BB-кодов. например, BB-код вставки видео с YouTube .