diff options
author | Klaus Weidenbach <Klaus.Weidenbach@gmx.net> | 2017-05-23 00:32:11 +0200 |
---|---|---|
committer | Klaus Weidenbach <Klaus.Weidenbach@gmx.net> | 2017-05-23 00:32:11 +0200 |
commit | 547df2219ab4b870256f2ed90e36b97d8bf200bf (patch) | |
tree | 3e990b35eb939911bb7949c2f5d633fa3d788faf /vendor/league/html-to-markdown/src/Converter/TextConverter.php | |
parent | 50e9d024581ddf57f37a6302bc089a88237657bb (diff) | |
download | volse-hubzilla-547df2219ab4b870256f2ed90e36b97d8bf200bf.tar.gz volse-hubzilla-547df2219ab4b870256f2ed90e36b97d8bf200bf.tar.bz2 volse-hubzilla-547df2219ab4b870256f2ed90e36b97d8bf200bf.zip |
Replace Mardownify library with html-to-markdown library.
Diffstat (limited to 'vendor/league/html-to-markdown/src/Converter/TextConverter.php')
-rw-r--r-- | vendor/league/html-to-markdown/src/Converter/TextConverter.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/league/html-to-markdown/src/Converter/TextConverter.php b/vendor/league/html-to-markdown/src/Converter/TextConverter.php new file mode 100644 index 000000000..d6d91e16f --- /dev/null +++ b/vendor/league/html-to-markdown/src/Converter/TextConverter.php @@ -0,0 +1,46 @@ +<?php + +namespace League\HTMLToMarkdown\Converter; + +use League\HTMLToMarkdown\ElementInterface; + +class TextConverter implements ConverterInterface +{ + /** + * @param ElementInterface $element + * + * @return string + */ + public function convert(ElementInterface $element) + { + $markdown = $element->getValue(); + + // Remove leftover \n at the beginning of the line + $markdown = ltrim($markdown, "\n"); + + // Replace sequences of invisible characters with spaces + $markdown = preg_replace('~\s+~u', ' ', $markdown); + + // Escape the following characters: '*', '_', '[', ']' and '\' + $markdown = preg_replace('~([*_\\[\\]\\\\])~u', '\\\\$1', $markdown); + + $markdown = preg_replace('~^#~u', '\\\\#', $markdown); + + if ($markdown === ' ') { + $next = $element->getNext(); + if (!$next || $next->isBlock()) { + $markdown = ''; + } + } + + return $markdown; + } + + /** + * @return string[] + */ + public function getSupportedTags() + { + return array('#text'); + } +} |