From 48f70e55aa67339d4b5505b1e717ccc6d5651834 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 6 Oct 2016 15:59:27 -0700 Subject: try naked embed before submission instead of at render time --- include/bbcode.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'include/bbcode.php') diff --git a/include/bbcode.php b/include/bbcode.php index 6a58475d0..a82b658b1 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -12,7 +12,6 @@ require_once('include/hubloc.php'); function tryoembed($match) { $url = ((count($match) == 2) ? $match[1] : $match[2]); - $o = oembed_fetch_url($url); if ($o['type'] == 'error') @@ -22,6 +21,18 @@ function tryoembed($match) { return $html; } + +function nakedoembed($match) { + $url = ((count($match) == 2) ? $match[1] : $match[2]); + + $o = oembed_fetch_url($url); + + if ($o['type'] == 'error') + return $match[0]; + + return '[embed]' . $url . '[/embed]'; +} + function tryzrlaudio($match) { $link = $match[1]; $zrl = is_matrix_url($link); @@ -645,6 +656,9 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false) $urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,\@]'; if (strpos($Text,'http') !== false) { + if($tryoembed) { + $Text = preg_replace_callback("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", 'tryoembed', $Text); + } $Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", '$1$2', $Text); } -- cgit v1.2.3