mirror of
https://github.com/nerzhul/ocsms.git
synced 2025-06-17 21:06:17 +00:00
* Add locale and libphonenumber libraries. * Update country code information Updated existing country codes, fixed incorrect NANP codes for member countries (as well as several UK based ones). Also added in Country Name to ISO country code mapping array for use with libphonenumber. * Convert phone number formatting to use libphonenumber libphonenumber parses phone number more consistantly than the old regex's that mismatched number on a regular basis.
89 lines
1.9 KiB
PHP
89 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace libphonenumber;
|
|
|
|
class PhoneNumberMatch
|
|
{
|
|
/**
|
|
* The start index into the text.
|
|
* @var int
|
|
*/
|
|
private $start;
|
|
|
|
/**
|
|
* The raw substring matched.
|
|
* @var string
|
|
*/
|
|
private $rawString;
|
|
|
|
/**
|
|
* The matched phone number.
|
|
* @var PhoneNumber
|
|
*/
|
|
private $number;
|
|
|
|
/**
|
|
* Creates a new match
|
|
*
|
|
* @param int $start The start index into the target text
|
|
* @param string $rawString The matched substring of the target text
|
|
* @param PhoneNumber $number The matched phone number
|
|
* @throws \NullPointerException
|
|
*/
|
|
public function __construct($start, $rawString, PhoneNumber $number)
|
|
{
|
|
if ($start < 0) {
|
|
throw new \InvalidArgumentException("Start index must be >= 0.");
|
|
}
|
|
|
|
if ($rawString === null) {
|
|
throw new \NullPointerException;
|
|
}
|
|
|
|
$this->start = $start;
|
|
$this->rawString = $rawString;
|
|
$this->number = $number;
|
|
}
|
|
|
|
/**
|
|
* Returns the phone number matched by the receiver.
|
|
* @return PhoneNumber
|
|
*/
|
|
public function number()
|
|
{
|
|
return $this->number;
|
|
}
|
|
|
|
/**
|
|
* Returns the start index of the matched phone number within the searched text.
|
|
* @return int
|
|
*/
|
|
public function start()
|
|
{
|
|
return $this->start;
|
|
}
|
|
|
|
/**
|
|
* Returns the exclusive end index of the matched phone number within the searched text.
|
|
* @return int
|
|
*/
|
|
public function end()
|
|
{
|
|
return $this->start + mb_strlen($this->rawString);
|
|
}
|
|
|
|
/**
|
|
* Returns the raw string matched as a phone number in the searched text.
|
|
* @return string
|
|
*/
|
|
public function rawString()
|
|
{
|
|
return $this->rawString;
|
|
}
|
|
|
|
public function __toString()
|
|
{
|
|
return "PhoneNumberMatch [{$this->start()},{$this->end()}) {$this->rawString}";
|
|
}
|
|
}
|