Code Duplication    Length = 18-20 lines in 2 locations

Formatter/HtmlFormatter.php 1 location

@@ 28-45 (lines=18) @@
25
 */
26
class HtmlFormatter implements FormatterInterface
27
{
28
    public function format(Tokens $tokens)
29
    {
30
        $source = $tokens->getSource();
31
32
        $result = '';
33
        $last   = 0;
34
35
        /** @var Token $token */
36
        foreach ($tokens as $token) {
37
            $result .= htmlspecialchars(substr($source, $last, $token->pos - $last));
38
            $result .= $token->isStart() ? $this->getOpenTag($token) : $this->getCloseTag();
39
40
            $last = $token->pos;
41
        }
42
        $result .= substr($source, $last);
43
44
        return $result;
45
    }
46
47
    protected function getOpenTag(Token $token) {
48
        return '<span class="' . str_replace('.', ' ', $token->name) . '">';

Formatter/LaTeXFormatter.php 1 location

@@ 36-55 (lines=20) @@
33
        $this->_styles = $styles ?: include __DIR__.'/../Styles/LaTeX/Default.php';
34
    }
35
36
    public function format(Tokens $tokens)
37
    {
38
        $source = $tokens->getSource();
39
40
        $result = '';
41
        $last   = 0;
42
43
        /** @var Token $token */
44
        foreach ($tokens as $token) {
45
            $result .= sprintf(
46
                '%s%s',
47
                $this->escape(substr($source, $last, $token->pos - $last)),
48
                $token->isStart() ? $this->getOpenTag($token) : $this->getCloseTag($token));
49
50
            $last = $token->pos;
51
        }
52
        $result .= substr($source, $last);
53
54
        return $result;
55
    }
56
57
    protected function escape($token)
58
    {