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/LinkConverter.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/LinkConverter.php')
-rw-r--r-- | vendor/league/html-to-markdown/src/Converter/LinkConverter.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/league/html-to-markdown/src/Converter/LinkConverter.php b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php new file mode 100644 index 000000000..f0765f38b --- /dev/null +++ b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php @@ -0,0 +1,52 @@ +<?php + +namespace League\HTMLToMarkdown\Converter; + +use League\HTMLToMarkdown\ElementInterface; + +class LinkConverter implements ConverterInterface +{ + /** + * @param ElementInterface $element + * + * @return string + */ + public function convert(ElementInterface $element) + { + $href = $element->getAttribute('href'); + $title = $element->getAttribute('title'); + $text = trim($element->getValue()); + + if ($title !== '') { + $markdown = '[' . $text . '](' . $href . ' "' . $title . '")'; + } elseif ($href === $text && $this->isValidAutolink($href)) { + $markdown = '<' . $href . '>'; + } else { + $markdown = '[' . $text . '](' . $href . ')'; + } + + if (!$href) { + $markdown = html_entity_decode($element->getChildrenAsString()); + } + + return $markdown; + } + + /** + * @return string[] + */ + public function getSupportedTags() + { + return array('a'); + } + + /** + * @param string $href + * + * @return bool + */ + private function isValidAutolink($href) + { + return preg_match('/^[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*/i', $href) === 1; + } +} |