* compatibility with Diaspora in spite of the Markdown standard.
*
* @param string $text
- * @param bool $hardwrap
+ * @param bool $hardwrap Enables line breaks on \n without two trailing spaces
+ * @param string $baseuri Optional. Prepend anchor links with this URL
* @return string
- * @throws \Exception
*/
- public static function convert($text, $hardwrap = true) {
+ public static function convert($text, $hardwrap = true, $baseuri = null) {
$stamp1 = microtime(true);
$MarkdownParser = new MarkdownParser();
$MarkdownParser->code_class_prefix = 'language-';
$MarkdownParser->hard_wrap = $hardwrap;
$MarkdownParser->hashtag_protection = true;
- $MarkdownParser->url_filter_func = function ($url) {
- if (strpos($url, '#') === 0) {
- $url = ltrim($_SERVER['REQUEST_URI'], '/') . $url;
+ $MarkdownParser->url_filter_func = function ($url) use ($baseuri) {
+ if (!empty($baseuri) && strpos($url, '#') === 0) {
+ $url = ltrim($baseuri, '/') . $url;
}
return $url;
};