Completed
Push — master ( b323d1...9a7f71 )
by Evgenii
64:43 queued 24:45
created

PhoneFormatter::a()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 2
dl 0
loc 3
rs 10
1
<?php
2
3
/**
4
 * Created by PhpStorm.
5
 * User: floor12
6
 * Date: 09.03.2017
7
 * Time: 9:48
8
 */
9
10
namespace floor12\phone;
11
12
use yii\helpers\Html;
13
14
class PhoneFormatter
15
{
16
17
    /**
18
     * @param $phone
19
     * @return string
20
     */
21
    public static function format($phone)
22
    {
23
        if (preg_match('/^(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})$/', $phone, $matches))
24
            return "+" . $matches[1] . ' (' . $matches[2] . ') ' . $matches[3] . "-" . $matches[4] . '-' . $matches[5];
25
26
        if (preg_match('/^(\d{2})(\d{3})(\d{3})(\d{2})(\d{2})$/', $phone, $matches))
27
            return "+" . $matches[1] . ' (' . $matches[2] . ') ' . $matches[3] . "-" . $matches[4] . '-' . $matches[5];
28
29
        return $phone;
30
    }
31
32
    /**
33
     * @param $phone
34
     * @param array $options
35
     * @return string
36
     */
37
    public static function a($phone, array $options = [])
38
    {
39
        return Html::a(self::format($phone), "tel:+{$phone}", $options);
40
    }
41
}