]> git.mxchange.org Git - friendica.git/commitdiff
Create new HTML::toMarkdown wrapper
authorHypolite Petovan <mrpetovan@gmail.com>
Tue, 18 Sep 2018 03:17:41 +0000 (23:17 -0400)
committerHypolite Petovan <mrpetovan@gmail.com>
Tue, 18 Sep 2018 03:17:41 +0000 (23:17 -0400)
src/Content/Text/BBCode.php
src/Content/Text/HTML.php

index d0f512ce1371e453298353c140617d5f13401abe..c3453bcf727bda8baf6f51517838e4403e7d43a6 100644 (file)
@@ -25,7 +25,6 @@ use Friendica\Util\Map;
 use Friendica\Util\Network;
 use Friendica\Util\ParseUrl;
 use Friendica\Util\Proxy as ProxyUtils;
-use League\HTMLToMarkdown\HtmlConverter;
 
 class BBCode extends BaseObject
 {
@@ -1942,8 +1941,7 @@ class BBCode extends BaseObject
                $stamp1 = microtime(true);
 
                // Now convert HTML to Markdown
-               $converter = new HtmlConverter();
-               $text = $converter->convert($text);
+               $text = HTML::toMarkdown($text);
 
                // unmask the special chars back to HTML
                $text = str_replace(['&\_lt\_;', '&\_gt\_;', '&\_amp\_;'], ['&lt;', '&gt;', '&amp;'], $text);
index 9a9f24f97f48e1a5542836817d05f1059fcad279..c256717a159c972fff3bdac91af123fe6486dcce 100644 (file)
@@ -11,6 +11,7 @@ use DOMXPath;
 use Friendica\Core\Addon;
 use Friendica\Util\Network;
 use Friendica\Util\XML;
+use League\HTMLToMarkdown\HtmlConverter;
 
 class HTML
 {
@@ -672,4 +673,19 @@ class HTML
 
                return trim($message);
        }
+
+       /**
+        * Converts provided HTML code to Markdown. The hardwrap parameter maximizes
+        * compatibility with Diaspora in spite of the Markdown standards.
+        *
+        * @param string $html
+        * @return string
+        */
+       public static function toMarkdown($html)
+       {
+               $converter = new HtmlConverter(['hard_break' => true]);
+               $markdown = $converter->convert($html);
+
+               return $markdown;
+       }
 }