aboutsummaryrefslogtreecommitdiffstats
path: root/public/system/helper/bbcode.php
diff options
context:
space:
mode:
Diffstat (limited to 'public/system/helper/bbcode.php')
-rw-r--r--public/system/helper/bbcode.php70
1 files changed, 70 insertions, 0 deletions
diff --git a/public/system/helper/bbcode.php b/public/system/helper/bbcode.php
new file mode 100644
index 0000000..3de8452
--- /dev/null
+++ b/public/system/helper/bbcode.php
@@ -0,0 +1,70 @@
+<?php
+/* BBCode Converter that converts BBCode writen in ckeditor */
+function bbcode_decode($string) {
+ $pattern = array();
+ $replace = array();
+
+ // Bold
+ $pattern[0] = '/\[b\](.*?)\[\/b\]/is';
+ $replace[0] = '<strong>$1</strong>';
+
+ // Italic
+ $pattern[1] = '/\[i\](.*?)\[\/i\]/is';
+ $replace[1] = '<em>$1</em>';
+
+ // Underlined
+ $pattern[2] = '/\[u\](.*?)\[\/u\]/is';
+ $replace[2] = '<u>$1</u>';
+
+ // Quote
+ $pattern[3] = '/\[quote\](.*?)\[\/quote]/is';
+ $replace[3] = '<blockquote>$1</blockquote>';
+
+ // Code
+ $pattern[4] = '/\[code\](.*?)\[\/code\]/is';
+ $replace[4] = '<code>$1</code>';
+
+ // Strikethrough
+ $pattern[16] = '/\[s\](.*?)\[\/s\]/is';
+ $replace[16] = '<s>$1</s>';
+
+ // List Item
+ $pattern[7] = '/\[\*\]([\w\W]+?)\n?(?=(?:(?:\[\*\])|(?:\[\/list\])))/';
+ $replace[7] = '<li>$1</li>';
+
+ // List
+ $pattern[5] = '/\[list\](.*?)\[\/list\]/is';
+ $replace[5] = '<ul>$1</ul>';
+
+ // Ordered List
+ $pattern[6] = '/\[list\=(1|A|a|I|i)\](.*?)\[\/list\]/is';
+ $replace[6] = '<ol type="$1">$2</ol>';
+
+ // Image
+ $pattern[8] = '/\[img\](.*?)\[\/img\]/is';
+ $replace[8] = '<img src="$1" alt="" class="img-responsive" />';
+
+ // URL
+ $pattern[9] = '/\[url\](.*?)\[\/url\]/is';
+ $replace[9] = '<a href="$1" rel="nofollow" target="_blank">$1</a>';
+
+ // URL (named)
+ $pattern[10] = '/\[url\=([^\[]+?)\](.*?)\[\/url\]/is';
+ $replace[10] = '<a href="$1" rel="nofollow" target="_blank">$2</a>';
+
+ // Font Size
+ $pattern[11] = '/\[size\=([\-\+]?\d+)\](.*?)\[\/size\]/is';
+ $replace[11] = '<span style="font-size: $1%;">$2</span>';
+
+ // Font Color
+ $pattern[12] = '/\[color\=(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z\-]+)\](.*?)\[\/color\]/is';
+ $replace[12] = '<span style="color: $1;">$2</span>';
+
+ // YouTube
+ $pattern[9] = '/\[youtube\](.*?)\[\/youtube\]/is';
+ $replace[9] = '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>';
+
+ $string = preg_replace($pattern, $replace, $string);
+
+ return $string;
+} \ No newline at end of file