diff options
Diffstat (limited to 'vendor/league/html-to-markdown/src/Converter/DefaultConverter.php')
-rw-r--r-- | vendor/league/html-to-markdown/src/Converter/DefaultConverter.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php b/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php new file mode 100644 index 000000000..964a71093 --- /dev/null +++ b/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php @@ -0,0 +1,50 @@ +<?php + +namespace League\HTMLToMarkdown\Converter; + +use League\HTMLToMarkdown\Configuration; +use League\HTMLToMarkdown\ConfigurationAwareInterface; +use League\HTMLToMarkdown\ElementInterface; + +class DefaultConverter implements ConverterInterface, ConfigurationAwareInterface +{ + const DEFAULT_CONVERTER = '_default'; + + /** + * @var Configuration + */ + protected $config; + + /** + * @param Configuration $config + */ + public function setConfig(Configuration $config) + { + $this->config = $config; + } + + /** + * @param ElementInterface $element + * + * @return string + */ + public function convert(ElementInterface $element) + { + // If strip_tags is false (the default), preserve tags that don't have Markdown equivalents, + // such as <span> nodes on their own. C14N() canonicalizes the node to a string. + // See: http://www.php.net/manual/en/domnode.c14n.php + if ($this->config->getOption('strip_tags', false)) { + return $element->getValue(); + } + + return html_entity_decode($element->getChildrenAsString()); + } + + /** + * @return string[] + */ + public function getSupportedTags() + { + return array(self::DEFAULT_CONVERTER); + } +} |