<?php
/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
*/
public static function toBBCode($message, $basepath = '')
{
+ DI::profiler()->startRecording('rendering');
$message = str_replace("\r", "", $message);
$message = Strings::performWithEscapedBlocks($message, '#<pre><code.*</code></pre>#iUs', function ($message) {
$prefix = '[code=' . $matches[1] . ']';
}
- return $prefix . PHP_EOL . trim($matches[2]) . PHP_EOL . '[/code]';
+ return $prefix . "\n" . html_entity_decode($matches[2]) . "\n" . '[/code]';
},
$message
);
$message = self::qualifyURLs($message, $basepath);
}
+ DI::profiler()->stopRecording();
return $message;
}
*/
public static function toPlaintext(string $html, $wraplength = 75, $compact = false)
{
+ DI::profiler()->startRecording('rendering');
$message = str_replace("\r", "", $html);
$doc = new DOMDocument();
$message = mb_convert_encoding($message, 'HTML-ENTITIES', "UTF-8");
if (empty($message)) {
+ DI::profiler()->stopRecording();
return '';
}
// Collecting all links
$urls = self::collectURLs($message);
+ if (empty($message)) {
+ DI::profiler()->stopRecording();
+ return '';
+ }
+
@$doc->loadHTML($message, LIBXML_HTML_NODEFDTD);
self::tagToBBCode($doc, 'html', [], '', '');
$message = self::quoteLevel(trim($message), $wraplength);
+ DI::profiler()->stopRecording();
return trim($message);
}
*/
public static function toMarkdown($html)
{
+ DI::profiler()->startRecording('rendering');
$converter = new HtmlConverter(['hard_break' => true]);
$markdown = $converter->convert($html);
+ DI::profiler()->stopRecording();
return $markdown;
}
return $text;
}
- /**
- * return div element with class 'clear'
- * @return string
- * @deprecated
- */
- public static function clearDiv()
- {
- return '<div class="clear"></div>';
- }
-
/**
* Loader for infinite scrolling
*
]);
}
- /**
- * Get html for contact block.
- *
- * @deprecated since version 2019.03
- * @see ContactBlock::getHTML()
- * @return string
- * @throws \Friendica\Network\HTTPException\InternalServerErrorException
- * @throws \ImagickException
- */
- public static function contactBlock()
- {
- $a = DI::app();
-
- return ContactBlock::getHTML($a->profile);
- }
-
/**
* Format contacts as picture links or as text links
*
$config->set('Attr.AllowedRel', [
'noreferrer' => true,
'noopener' => true,
+ 'tag' => true,
]);
$config->set('Attr.AllowedFrameTargets', [
'_blank' => true,