1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
shortnumberformatter.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Main\PhoneNumber;
4
9
class
ShortNumberFormatter
10
{
11
protected
static
$templates
= [
12
3 =>
'x-xx'
,
13
4 =>
'xx-xx'
,
14
5 =>
'x-xx-xx'
,
15
6 =>
'xx-xx-xx'
,
16
7 =>
'xxx-xx-xx'
17
];
18
24
public
static
function
format
(
PhoneNumber
$phoneNumber)
25
{
26
$rawNumber = $phoneNumber->
getNationalNumber
();
27
$template
= static::$templates[mb_strlen($rawNumber)];
28
if
(!
$template
)
29
{
30
return
$rawNumber;
31
}
32
33
$pattern
= preg_replace(
"/[^x]/"
,
""
,
$template
);
34
$pattern
= str_replace(
"x"
,
"(\\d)"
,
$pattern
);
35
$pattern
=
"/"
.
$pattern
.
"/"
;
36
$i
= 0;
37
$format = preg_replace_callback(
38
"/x/"
,
39
function
() use (&
$i
)
40
{
41
return
"$"
. ++
$i
;
42
},
43
$template
44
);
45
46
$result
= preg_replace(
$pattern
, $format, $rawNumber);
47
if
($phoneNumber->
getExtensionSeparator
())
48
{
49
$result
.= $phoneNumber->
getExtensionSeparator
() .
" "
. $phoneNumber->
getExtension
();
50
}
51
return
$result
;
52
}
53
59
public
static
function
isApplicable
(
PhoneNumber
$phoneNumber)
60
{
61
if
($phoneNumber->
isValid
() || $phoneNumber->
hasPlus
())
62
return
false
;
63
64
$rawNumber = $phoneNumber->
getNationalNumber
();
65
return
preg_match(
"/^\d{3,7}$/"
, $rawNumber);
66
}
67
}
Bitrix\Main\PhoneNumber\PhoneNumber\hasPlus
hasPlus()
Определения
phonenumber.php:212
Bitrix\Main\PhoneNumber\PhoneNumber\getExtensionSeparator
getExtensionSeparator()
Определения
phonenumber.php:164
Bitrix\Main\PhoneNumber\PhoneNumber\isValid
isValid()
Определения
phonenumber.php:114
Bitrix\Main\PhoneNumber\PhoneNumber\getNationalNumber
getNationalNumber()
Определения
phonenumber.php:82
Bitrix\Main\PhoneNumber\PhoneNumber\getExtension
getExtension()
Определения
phonenumber.php:148
Bitrix\Main\PhoneNumber\ShortNumberFormatter
Определения
shortnumberformatter.php:10
Bitrix\Main\PhoneNumber\ShortNumberFormatter\$templates
static $templates
Определения
shortnumberformatter.php:11
Bitrix\Main\PhoneNumber\ShortNumberFormatter\isApplicable
static isApplicable(PhoneNumber $phoneNumber)
Определения
shortnumberformatter.php:59
Bitrix\Main\PhoneNumber\ShortNumberFormatter\format
static format(PhoneNumber $phoneNumber)
Определения
shortnumberformatter.php:24
$template
$template
Определения
file_edit.php:49
$result
$result
Определения
get_property_values.php:14
Bitrix\Main\PhoneNumber
Определения
format.php:3
$i
$i
Определения
factura.php:643
$pattern
if(!Loader::includeModule('sale')) $pattern
Определения
index.php:20
bitrix
modules
main
lib
phonenumber
shortnumberformatter.php
Создано системой
1.14.0