'+$1 ($2) $3-$4', 'size' => [null, [3, 4], [3, 5], [3, 8],],], $countries = null ) { $numberString = $layout['struct']; if ($isInt) { if ($countries === null) { $countries = ['de' => 49, 'us' => 1]; } $numberString = \str_replace('$1', $countries[array_keys($countries)[rand(0, count($countries))]], $numberString); } $numberParts = substr_count($layout['struct'], '$'); for ($i = ($isInt ? 2 : 1); $i < $numberParts; ++$i) { $numberString = \str_replace( '$' . $i, StringUtils::generateString($layout['size'][$i - 1][0], $layout['size'][$i - 1][1], '0123456789'), $numberString ); } return $numberString; } }