diff options
author | git-marijus <mario@mariovavti.com> | 2017-05-23 21:39:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-23 21:39:47 +0200 |
commit | dea0d07b9af9a5927dd524a3e486317690a7e112 (patch) | |
tree | 3e990b35eb939911bb7949c2f5d633fa3d788faf /vendor/league/html-to-markdown/src/Converter/TextConverter.php | |
parent | 50e9d024581ddf57f37a6302bc089a88237657bb (diff) | |
parent | 547df2219ab4b870256f2ed90e36b97d8bf200bf (diff) | |
download | volse-hubzilla-dea0d07b9af9a5927dd524a3e486317690a7e112.tar.gz volse-hubzilla-dea0d07b9af9a5927dd524a3e486317690a7e112.tar.bz2 volse-hubzilla-dea0d07b9af9a5927dd524a3e486317690a7e112.zip |
Merge pull request #794 from dawnbreak/dev
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'); + } +} |