Mustache::replace()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Sonata Project package.
7
 *
8
 * (c) Thomas Rabaix <[email protected]>
9
 *
10
 * For the full copyright and license information, please view the LICENSE
11
 * file that was distributed with this source code.
12
 */
13
14
namespace Sonata\EasyExtendsBundle\Generator;
15
16
class Mustache
17
{
18
    public static function replace(string $string, array $parameters): string
19
    {
20
        $replacer = static function ($match) use ($parameters) {
21
            return $parameters[$match[1]] ?? $match[0];
22
        };
23
24
        return preg_replace_callback('/{{\s*(.+?)\s*}}/', $replacer, $string);
25
    }
26
27
    public static function replaceFromFile(string $file, array $parameters): string
28
    {
29
        return self::replace(file_get_contents($file), $parameters);
30
    }
31
}
32