", $Text);
-
- // Check for font change text
- $Text = preg_replace("(\[font=(.+?)\](.+?)\[\/font\])","$2",$Text);
-
- // Declare the format for [code] layout
- $CodeLayout = '
-
-
Code:
-
-
-
$1
-
-
';
- // Check for [code] text
- $Text = preg_replace("/\[code\](.+?)\[\/code\]/is","$CodeLayout", $Text);
- // Declare the format for [php] layout
- $phpLayout = '
-
-
Code:
-
-
-
$1
-
-
';
- // Check for [php] text
- $Text = preg_replace("/\[php\](.+?)\[\/php\]/is",$phpLayout, $Text);
-
- // Declare the format for [quote] layout
- $QuoteLayout = '
-
-
Quote:
-
-
-
$1
-
-
';
-
- // Check for [quote] text
- $Text = preg_replace("/\[quote\](.+?)\[\/quote\]/is","$QuoteLayout", $Text);
+ // BBcode 2 HTML was written by WAY2WEB.net
+ // Made to work with Mistpark/Friendika - Mike Macgirvin
+
+function bbcode($Text) {
+ // Replace any html brackets with HTML Entities to prevent executing HTML or script
+ // Don't use strip_tags here because it breaks [url] search by replacing & with amp
+ $Text = str_replace("<", "<", $Text);
+ $Text = str_replace(">", ">", $Text);
+
+ // Convert new line chars to html tags
+ $Text = nl2br($Text);
+
+ // Set up the parameters for a URL search string
+ $URLSearchString = " a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'\%";
+ // Set up the parameters for a MAIL search string
+ $MAILSearchString = $URLSearchString . " a-zA-Z0-9\.@";
+
+ // Perform URL Search
+ $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '$1', $Text);
+ $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '$2', $Text);
+ //$Text = preg_replace("(\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[/url\])", '$2', $Text);
+
+ // Perform MAIL Search
+ $Text = preg_replace("(\[mail\]([$MAILSearchString]*)\[/mail\])", '$1', $Text);
+ $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.+?)\[\/mail\]/", '$2', $Text);
- // Images
- // [img]pathtoimage[/img]
- $Text = preg_replace("/\[img\](.+?)\[\/img\]/", '', $Text);
+ // Check for bold text
+ $Text = preg_replace("(\[b\](.+?)\[\/b])is",'$1',$Text);
+
+ // Check for Italics text
+ $Text = preg_replace("(\[i\](.+?)\[\/i\])is",'$1',$Text);
+
+ // Check for Underline text
+ $Text = preg_replace("(\[u\](.+?)\[\/u\])is",'$1',$Text);
+
+ // Check for strike-through text
+ $Text = preg_replace("(\[s\](.+?)\[\/s\])is",'$1',$Text);
+
+ // Check for over-line text
+ $Text = preg_replace("(\[o\](.+?)\[\/o\])is",'$1',$Text);
+
+ // Check for colored text
+ $Text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","$2",$Text);
+
+ // Check for sized text
+ $Text = preg_replace("(\[size=(.+?)\](.+?)\[\/size\])is","$2",$Text);
+
+ // Check for list text
+ $Text = preg_replace("/\[list\](.+?)\[\/list\]/is", '
", $Text);
+
+ // Check for font change text
+ $Text = preg_replace("(\[font=(.+?)\](.+?)\[\/font\])","$2",$Text);
+
+ // Declare the format for [code] layout
+ $CodeLayout = '$1';
+ // Check for [code] text
+ $Text = preg_replace("/\[code\](.+?)\[\/code\]/is","$CodeLayout", $Text);
+ // Declare the format for [quote] layout
+ $QuoteLayout = '