![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/CoreBundle/Helper/ |
<?php namespace Mautic\CoreBundle\Helper; use libphonenumber\PhoneNumberFormat; use libphonenumber\PhoneNumberUtil; class PhoneNumberHelper { /** * @param int $format * * @return string */ public function format($number, $format = PhoneNumberFormat::E164) { $phoneUtil = PhoneNumberUtil::getInstance(); $phoneNumber = $phoneUtil->parse($number, 'US'); return $phoneUtil->format($phoneNumber, $format); } public function getFormattedNumberList($number): array { return array_unique( [ $number, $this->format($number, PhoneNumberFormat::E164), $this->formatNumericalNational($number), $this->format($number, PhoneNumberFormat::NATIONAL), $this->formatDelimitedNational($number), $this->format($number, PhoneNumberFormat::INTERNATIONAL), $this->formatNumericalInternational($number), $this->formatDelimitedNational($number, '.'), ] ); } public function formatNumericalInternational($number): ?string { return preg_replace('/[^0-9]/', '', $this->format($number, PhoneNumberFormat::INTERNATIONAL)); } public function formatNumericalNational($number): ?string { return preg_replace('/[^0-9]/', '', $this->format($number, PhoneNumberFormat::NATIONAL)); } /** * @param string $number * @param string $delimiter */ public function formatDelimitedNational($number, $delimiter = '-'): ?string { $national = $this->format($number, PhoneNumberFormat::NATIONAL); $national = str_replace([') ', '-'], $delimiter, $national); return preg_replace('/[^0-9'.$delimiter.']/', '', $national); } }