aboutsummaryrefslogtreecommitdiffstats
path: root/include/bbcode.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/bbcode.php')
-rw-r--r--include/bbcode.php31
1 files changed, 11 insertions, 20 deletions
diff --git a/include/bbcode.php b/include/bbcode.php
index b383f43b6..dd0cc6958 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -5,23 +5,15 @@ require_once('include/event.php');
-function stripcode_br_cb($s) {
- return '[code]' . str_replace('<br />', '', $s[1]) . '[/code]';
-}
-
-function tryoembed($match){
+function tryoembed($match) {
$url = ((count($match)==2)?$match[1]:$match[2]);
-// logger("tryoembed: $url");
$o = oembed_fetch_url($url);
- //echo "<pre>"; var_dump($match, $url, $o); killme();
-
if ($o->type=="error") return $match[0];
$html = oembed_format_object($o);
- return $html; //oembed_iframe($html,$o->width,$o->height);
-
+ return $html;
}
// [noparse][i]italic[/i][/noparse] turns into
@@ -115,25 +107,26 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$a = get_app();
+ // Extract the private images which use data url's since preg has issues with
+ // large data sizes. Stash them away while we do bbcode conversion, and then put them back
+ // in after we've done all the regex matching. We cannot use any preg functions to do this.
+
+ $extracted = bb_extract_images($Text);
+ $Text = $extracted['body'];
+ $saved_image = $extracted['images'];
+
+
// Move all spaces out of the tags
$Text = preg_replace("/\[(\w*)\](\s*)/ism", '$2[$1]', $Text);
$Text = preg_replace("/(\s*)\[\/(\w*)\]/ism", '[/$2]$1', $Text);
// Hide all [noparse] contained bbtags by spacefying them
- // POSSIBLE BUG --> Will the 'preg' functions crash if there's an embedded image?
$Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_spacefy',$Text);
$Text = preg_replace_callback("/\[nobb\](.*?)\[\/nobb\]/ism", 'bb_spacefy',$Text);
$Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_spacefy',$Text);
- // Extract the private images which use data url's since preg has issues with
- // large data sizes. Stash them away while we do bbcode conversion, and then put them back
- // in after we've done all the regex matching. We cannot use any preg functions to do this.
-
- $extracted = bb_extract_images($Text);
- $Text = $extracted['body'];
- $saved_image = $extracted['images'];
// If we find any event code, turn it into an event.
// After we're finished processing the bbcode we'll
@@ -266,8 +259,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Declare the format for [code] layout
-// $Text = preg_replace_callback("/\[code\](.*?)\[\/code\]/ism",'stripcode_br_cb',$Text);
-
$CodeLayout = '<code>$1</code>';
// Check for [code] text
$Text = preg_replace("/\[code\](.*?)\[\/code\]/ism","$CodeLayout", $Text);