Advertisement
Guest User

BBCodeToHtml.php

a guest
Oct 1st, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.95 KB | None | 0 0
  1. <?php
  2. //This function let convert BBcode to HTML
  3. function bbcode_to_html($text)
  4. {
  5.     $text = nl2br(htmlentities($text, ENT_QUOTES, 'UTF-8'));
  6.     $in = array(
  7.             '#\[b\](.*)\[/b\]#Usi',
  8.             '#\[i\](.*)\[/i\]#Usi',
  9.             '#\[u\](.*)\[/u\]#Usi',
  10.             '#\[s\](.*)\[/s\]#Usi',
  11.             '#\[img\](.*)\[/img\]#Usi',
  12.             '#\[url\]((ht|f)tps?\:\/\/(.*))\[/url\]#Usi',
  13.             '#\[url=((ht|f)tps?\:\/\/(.*))\](.*)\[/url\]#Usi',
  14.             '#\[left\](.*)\[/left\]#Usi',
  15.             '#\[center\](.*)\[/center\]#Usi',
  16.             '#\[right\](.*)\[/right\]#Usi'
  17.         );
  18.     $out = array(
  19.             '<strong>$1</strong>',
  20.             '<em>$1</em>',
  21.             '<span style="text-decoration:underline;">$1</span>',
  22.             '<span style="text-decoration:line-through;">$1</span>',
  23.             '<img src="$1" alt="Image" />',
  24.             '<a href="$1">$1</a>',
  25.             '<a href="$1">$4</a>',
  26.             '<div style="text-align:left;">$1</div>',
  27.             '<div style="text-align:center;">$1</div>',
  28.             '<div style="text-align:right;">$1</div>'
  29.         );
  30.     $count = count($in)-1;
  31.     for($i=0;$i<=$count;$i++)
  32.     {
  33.         $text = preg_replace($in[$i],$out[$i],$text);
  34.     }
  35.     return $text;
  36. }
  37. //This function let convert HTML to BBcode
  38. function html_to_bbcode($text)
  39. {
  40.     $text = str_replace('<br />','',$text);
  41.     $in = array(
  42.         '#<strong>(.*)</strong>#Usi',
  43.         '#<em>(.*)</em>#Usi',
  44.         '#<span style="text-decoration:underline;">(.*)</span>#Usi',
  45.         '#<span style="text-decoration:line-through;">(.*)</span>#Usi',
  46.         '#<img src="(.*)" alt="Image" />#Usi',
  47.         '#<a href="(.*)">(.*)</a>#Usi',
  48.         '#<div style="text-align:left;">(.*)</div>#Usi',
  49.         '#<div style="text-align:center;">(.*)</div>#Usi',
  50.         '#<div style="text-align:right;">(.*)</div>#Usi'
  51.     );
  52.     $out = array(
  53.         '[b]$1[/b]',
  54.         '[i]$1[/i]',
  55.         '[u]$1[/u]',
  56.         '[s]$1[/s]',
  57.         '[img]$1[/img]',
  58.         '[url=$1]$2[/url]',
  59.         '[left]$1[/left]',
  60.         '[center]$1[/center]',
  61.         '[right]$1[/right]'
  62.     );
  63.     $count = count($in)-1;
  64.     for($i=0;$i<=$count;$i++)
  65.     {
  66.         $text = preg_replace($in[$i],$out[$i],$text);
  67.     }
  68.     return $text;
  69. }
  70. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement