Code Duplication    Length = 16-16 lines in 2 locations

Twig/Extension/EchoExtension.php 2 locations

@@ 301-316 (lines=16) @@
298
        $pattern_string = '/^(?<string>[^|]+)(?<parameter_bag>\|\{(\s?%[a-zA-Z0-9.]+%:\s[a-zA-Z0-9.]+,?\s?)+\s?\}\|)\s*$/';
299
        $pattern_params = '/(?>(?<=(\|\{\s|.,\s))%(?<key>[a-zA-Z0-9.]+)%:\s(?<value>[a-zA-Z0-9.]+)(?=(,\s.|\s\}\|)))+/';
300
301
        if (preg_match($pattern_string, $subject, $match_string)) {
302
            $string = $match_string['string'];
303
            $parameter_bag = $match_string['parameter_bag'];
304
305
            $param = array();
306
            preg_match_all($pattern_params, $parameter_bag, $match_params, PREG_SET_ORDER);
307
308
            foreach ($match_params as $match) {
309
                $param[$match['key']] = $match['value'];
310
            }
311
312
            return array(
313
                'string' => $string,
314
                'params' => $param
315
            );
316
        }
317
318
        # Feature - read abbreviated syntax parameters
319
        $abbreviated_pattern_string = '/^(?<string>[^|]+)(?<parameter_bag>\|\{(\s?[a-zA-Z0-9.]+,?\s?)+\s?\}\|)\s*$/';
@@ 322-337 (lines=16) @@
319
        $abbreviated_pattern_string = '/^(?<string>[^|]+)(?<parameter_bag>\|\{(\s?[a-zA-Z0-9.]+,?\s?)+\s?\}\|)\s*$/';
320
        $abbreviated_pattern_params = '/(?>(?<=(\|\{\s|.,\s))(?<param>[a-zA-Z0-9.]+)(?=(,\s.|\s\}\|)))+?/';
321
322
        if (preg_match($abbreviated_pattern_string, $subject, $match_string)) {
323
            $string = $match_string['string'];
324
            $parameter_bag = $match_string['parameter_bag'];
325
326
            $param = array();
327
            preg_match_all($abbreviated_pattern_params, $parameter_bag, $match_params);
328
329
            foreach ($match_params['param'] as $value) {
330
                $param[$value] = $value;
331
            }
332
333
            return array(
334
                'string' => $string,
335
                'params' => $param
336
            );
337
        }
338
339
        // If subject does not match any pattern, return false
340
        return false;