Code Duplication    Length = 15-18 lines in 2 locations

src/JS.php 1 location

@@ 196-213 (lines=18) @@
193
    /**
194
     * Strip comments from source code.
195
     */
196
    protected function stripComments()
197
    {
198
        // PHP only supports $this inside anonymous functions since 5.4
199
        $minifier = $this;
200
        $callback = function ($match) use ($minifier) {
201
            $count = count($minifier->extracted);
202
            $placeholder = '/*'.$count.'*/';
203
            $minifier->extracted[$placeholder] = $match[0];
204
205
            return $placeholder;
206
        };
207
        // multi-line comments
208
        $this->registerPattern('/\n?\/\*(!|.*?@license|.*?@preserve).*?\*\/\n?/s', $callback);
209
        $this->registerPattern('/\/\*.*?\*\//s', '');
210
211
        // single-line comments
212
        $this->registerPattern('/\/\/.*$/m', '');
213
    }
214
215
    /**
216
     * JS can have /-delimited regular expressions, like: /ab+c/.match(string).

src/CSS.php 1 location

@@ 629-643 (lines=15) @@
626
    /**
627
     * Strip comments from source code.
628
     */
629
    protected function stripComments()
630
    {
631
        // PHP only supports $this inside anonymous functions since 5.4
632
        $minifier = $this;
633
        $callback = function ($match) use ($minifier) {
634
            $count = count($minifier->extracted);
635
            $placeholder = '/*'.$count.'*/';
636
            $minifier->extracted[$placeholder] = $match[0];
637
638
            return $placeholder;
639
        };
640
        $this->registerPattern('/\n?\/\*(!|.*?@license|.*?@preserve).*?\*\/\n?/s', $callback);
641
642
        $this->registerPattern('/\/\*.*?\*\//s', '');
643
    }
644
645
    /**
646
     * Strip whitespace.