![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Czy są jakieś gotrowe mechanizmy do obsługi bbcode na mojej stronie? Szukam juz pewien czas i widze same zlepki, każdy po kawałku pokazuje poszczegolne kody i na dodatek artykuły mające po 10 lat. Czy znacie jakiś fajny aktualny parser który można wykorzystać u siebie? Chodzi mi o funkcje php do obsługi oraz mile widoczny byłby mechanizm po stronie JS ![]() Widziałem, że fajne opcje ma phpbb3 --- Znalazłem już obsługę po stornie php, wydaje mi sie, że te opcje mi starczą. Wlkejam, żeby inni mieli, jeszcze szukam po stronie Javascript. Kod //======================== START OF FUNCTION ==========================//
// FUNCTION: bbcode_to_html // //=====================================================================// function bbcode_to_html($bbtext){ $bbtags = array( '[heading1]' => '<h1>','[/heading1]' => '</h1>', '[heading2]' => '<h2>','[/heading2]' => '</h2>', '[heading3]' => '<h3>','[/heading3]' => '</h3>', '[h1]' => '<h1>','[/h1]' => '</h1>', '[h2]' => '<h2>','[/h2]' => '</h2>', '[h3]' => '<h3>','[/h3]' => '</h3>', '[paragraph]' => '<p>','[/paragraph]' => '</p>', '[para]' => '<p>','[/para]' => '</p>', '[p]' => '<p>','[/p]' => '</p>', '[left]' => '<p style="text-align:left;">','[/left]' => '</p>', '[right]' => '<p style="text-align:right;">','[/right]' => '</p>', '[center]' => '<p style="text-align:center;">','[/center]' => '</p>', '[justify]' => '<p style="text-align:justify;">','[/justify]' => '</p>', '[bold]' => '<span style="font-weight:bold;">','[/bold]' => '</span>', '[italic]' => '<span style="font-weight:bold;">','[/italic]' => '</span>', '[underline]' => '<span style="text-decoration:underline;">','[/underline]' => '</span>', '[b]' => '<span style="font-weight:bold;">','[/b]' => '</span>', '[i]' => '<span style="font-weight:bold;">','[/i]' => '</span>', '[u]' => '<span style="text-decoration:underline;">','[/u]' => '</span>', '[break]' => '<br>', '[br]' => '<br>', '[newline]' => '<br>', '[nl]' => '<br>', '[unordered_list]' => '<ul>','[/unordered_list]' => '</ul>', '[list]' => '<ul>','[/list]' => '</ul>', '[ul]' => '<ul>','[/ul]' => '</ul>', '[ordered_list]' => '<ol>','[/ordered_list]' => '</ol>', '[ol]' => '<ol>','[/ol]' => '</ol>', '[list_item]' => '<li>','[/list_item]' => '</li>', '[li]' => '<li>','[/li]' => '</li>', '[*]' => '<li>','[/*]' => '</li>', '[covde]' => '<codve>','[/cohde]' => '</chode>', '[preformatted]' => '<pre>','[/preformatted]' => '</pre>', '[pre]' => '<pre>','[/pre]' => '</pre>', ); $bbtext = str_ireplace(array_keys($bbtags), array_values($bbtags), $bbtext); $bbextended = array( "/\[url](.*?)\[\/url]/i" => "<a href=\"http://$1\" title=\"$1\">$1</a>", "/\[url=(.*?)\](.*?)\[\/url\]/i" => "<a href=\"$1\" title=\"$1\">$2</a>", "/\[email=(.*?)\](.*?)\[\/email\]/i" => "<a href=\"mailto:$1\">$2</a>", "/\[mail=(.*?)\](.*?)\[\/mail\]/i" => "<a href=\"mailto:$1\">$2</a>", "/\[img\]([^[]*)\[\/img\]/i" => "<img src=\"$1\" alt=\" \" />", "/\[image\]([^[]*)\[\/image\]/i" => "<img src=\"$1\" alt=\" \" />", "/\[image_left\]([^[]*)\[\/image_left\]/i" => "<img src=\"$1\" alt=\" \" class=\"img_left\" />", "/\[image_right\]([^[]*)\[\/image_right\]/i" => "<img src=\"$1\" alt=\" \" class=\"img_right\" />", ); foreach($bbextended as $match=>$replacement){ $bbtext = preg_replace($match, $replacement, $bbtext); } return $bbtext; } //=====================================================================// // FUNCTION: bbcode_to_html // //========================= END OF FUNCTION ===========================// Example $bbtext = file_get_contents('bbcode_text.txt'); $html = bbcode_to_html($bbtext); echo $html; Ten post edytował luis2luis 14.12.2016, 16:46:07 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:28 |