X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fbbcode.php;h=ef791d9e7cfa3024926852211f7f5e020f7f0556;hb=26eceaacbe883b7ece20c0cfb5c724c8ba1a7d99;hp=c08c6d4d95682e83e5691e5587cf21603d8b8147;hpb=f620834d970286a6694a29434b0247d3037b9461;p=friendica.git diff --git a/include/bbcode.php b/include/bbcode.php index c08c6d4d95..ef791d9e7c 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -42,7 +42,7 @@ function bb_attachment($Text, $plaintext = false, $tryoembed = true) { $title = $matches[1]; //$title = htmlentities($title, ENT_QUOTES, 'UTF-8', false); - $title = bbcode(html_entity_decode($title), false, false, true); + $title = bbcode(html_entity_decode($title, ENT_QUOTES, 'UTF-8'), false, false, true); $title = str_replace(array("[", "]"), array("[", "]"), $title); $image = ""; @@ -168,6 +168,8 @@ function bb_remove_share_information($Text, $plaintext = false, $nolink = false) } function bb_cleanup_share($shared, $plaintext, $nolink) { + $shared[1] = trim($shared[1]); + if (!in_array($shared[2], array("type-link", "type-video"))) return($shared[0]); @@ -178,7 +180,7 @@ function bb_cleanup_share($shared, $plaintext, $nolink) { return($shared[0]); if ($nolink) - return(trim($shared[1])); + return($shared[1]); $title = ""; $link = ""; @@ -189,6 +191,9 @@ function bb_cleanup_share($shared, $plaintext, $nolink) { if (isset($bookmark[1][0])) $link = $bookmark[1][0]; + if (($shared[1] != "") AND (strpos($title, $shared[1]) !== false)) + $shared[1] = $title; + if (($title != "") AND ((strpos($shared[1],$title) !== false) OR (similar_text($shared[1],$title) / strlen($title)) > 0.9)) $title = ""; @@ -504,9 +509,7 @@ function bb_ShareAttributes($share, $simplehtml) { $text = $preshare.html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8').' '.$userid_compact.":
".$share[3]; break; case 3: // Diaspora - $headline = '
'; - $headline .= ''.html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8').$userid.':'; - $headline .= "
"; + $headline .= ''.html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8').$userid.':
'; $text = trim($share[1]); @@ -514,7 +517,7 @@ function bb_ShareAttributes($share, $simplehtml) { $text .= "
"; if (substr(normalise_link($link), 0, 19) != "http://twitter.com/") { - $text .= $headline.'
'.trim($share[3])."

"; + $text .= $headline.'
'.trim($share[3])."

"; if ($link != "") $text .= '
[l]'; @@ -676,6 +679,8 @@ function bb_RemovePictureLinks($match) { if(is_null($text)){ $a = get_app(); + $stamp1 = microtime(true); + $ch = @curl_init($match[1]); @curl_setopt($ch, CURLOPT_NOBODY, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @@ -683,6 +688,8 @@ function bb_RemovePictureLinks($match) { @curl_exec($ch); $curl_info = @curl_getinfo($ch); + $a->save_timestamp($stamp1, "network"); + if (substr($curl_info["content_type"], 0, 6) == "image/") $text = "[url=".$match[1]."]".$match[1]."[/url]"; else { @@ -726,6 +733,8 @@ function bb_CleanPictureLinksSub($match) { if(is_null($text)){ $a = get_app(); + $stamp1 = microtime(true); + $ch = @curl_init($match[1]); @curl_setopt($ch, CURLOPT_NOBODY, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @@ -733,6 +742,8 @@ function bb_CleanPictureLinksSub($match) { @curl_exec($ch); $curl_info = @curl_getinfo($ch); + $a->save_timestamp($stamp1, "network"); + // if its a link to a picture then embed this picture if (substr($curl_info["content_type"], 0, 6) == "image/") $text = "[img]".$match[1]."[/img]"; @@ -774,8 +785,6 @@ function bb_CleanPictureLinks($text) { function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = false, $forplaintext = false) { - $stamp1 = microtime(true); - $a = get_app(); // Hide all [noparse] contained bbtags by spacefying them @@ -837,8 +846,10 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal // removing multiplicated newlines if (get_config("system", "remove_multiplicated_lines")) { - $search = array("\n\n\n", "\n ", " \n", "[/quote]\n\n", "\n[/quote]", "[/li]\n", "\n[li]", "\n[ul]", "[/ul]\n", "\n\n[share ", "[/attachment]\n"); - $replace = array("\n\n", "\n", "\n", "[/quote]\n", "[/quote]", "[/li]", "[li]", "[ul]", "[/ul]", "\n[share ", "[/attachment]"); + $search = array("\n\n\n", "\n ", " \n", "[/quote]\n\n", "\n[/quote]", "[/li]\n", "\n[li]", "\n[ul]", "[/ul]\n", "\n\n[share ", "[/attachment]\n", + "\n[h1]", "[/h1]\n", "\n[h2]", "[/h2]\n", "\n[h3]", "[/h3]\n", "\n[h4]", "[/h4]\n", "\n[h5]", "[/h5]\n", "\n[h6]", "[/h6]\n"); + $replace = array("\n\n", "\n", "\n", "[/quote]\n", "[/quote]", "[/li]", "[li]", "[ul]", "[/ul]", "\n[share ", "[/attachment]", + "[h1]", "[/h1]", "[h2]", "[/h2]", "[h3]", "[/h3]", "[h4]", "[/h4]", "[h5]", "[/h5]", "[h6]", "[/h6]"); do { $oldtext = $Text; $Text = str_replace($search, $replace, $Text); @@ -918,6 +929,14 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal $Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '$1', $Text); $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '$2', $Text); + // Check for headers + $Text = preg_replace("(\[h1\](.*?)\[\/h1\])ism",'

$1

',$Text); + $Text = preg_replace("(\[h2\](.*?)\[\/h2\])ism",'

$1

',$Text); + $Text = preg_replace("(\[h3\](.*?)\[\/h3\])ism",'

$1

',$Text); + $Text = preg_replace("(\[h4\](.*?)\[\/h4\])ism",'

$1

',$Text); + $Text = preg_replace("(\[h5\](.*?)\[\/h5\])ism",'
$1
',$Text); + $Text = preg_replace("(\[h6\](.*?)\[\/h6\])ism",'
$1
',$Text); + // Check for bold text $Text = preg_replace("(\[b\](.*?)\[\/b\])ism",'$1',$Text); @@ -1098,8 +1117,8 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal 'https://www.youtube.com/watch?v=$1', $Text); if ($tryoembed) { - $Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text); - $Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text); + $Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text); + $Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text); } $Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text); @@ -1113,7 +1132,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal // $Text = preg_replace("/\[youtube\](.*?)\[\/youtube\]/", '', $Text); - // oembed tag $Text = oembed_bbcode2html($Text); @@ -1183,16 +1201,8 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal //$Text = str_replace('
  • ','
  • ', $Text); // $Text = str_replace('
    save_timestamp($stamp1, "parser"); - return trim($Text); } ?>