Code Duplication    Length = 22-22 lines in 2 locations

src/Sioen/HtmlToJson/HeadingConverter.php 1 location

@@ 5-26 (lines=22) @@
2
3
namespace Sioen\HtmlToJson;
4
5
class HeadingConverter extends Converter
6
{
7
    public function toJson(\DOMElement $node)
8
    {
9
        $html = $node->ownerDocument->saveXML($node);
10
11
        // remove the h2 tags from the text. We just need the inner text.
12
        $html = preg_replace('/<(\/|)h2>/i', '', $html);
13
14
        return array(
15
            'type' => 'heading',
16
            'data' => array(
17
                'text' => ' ' . $this->htmlToMarkdown($html)
18
            )
19
        );
20
    }
21
22
    public function matches(\DomElement $node)
23
    {
24
        return $node->nodeName === 'h2';
25
    }
26
}
27

src/Sioen/HtmlToJson/ListConverter.php 1 location

@@ 5-26 (lines=22) @@
2
3
namespace Sioen\HtmlToJson;
4
5
class ListConverter extends Converter
6
{
7
    public function toJson(\DOMElement $node)
8
    {
9
        $markdown = $this->htmlToMarkdown($node->ownerDocument->saveXML($node));
10
11
        // we need a space in the beginning of each line
12
        $markdown = ' ' . str_replace("\n", "\n ", $markdown);
13
14
        return array(
15
            'type' => 'list',
16
            'data' => array(
17
                'text' => $markdown,
18
            )
19
        );
20
    }
21
22
    public function matches(\DomElement $node)
23
    {
24
        return $node->nodeName === 'ul';
25
    }
26
}
27