| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | <?php/** * @file * CCK Field for Senegalese phone numbers. */define('PHONE_SN_REGEX', '/((\+221|00221)?)((7[7608][0-9]{7}$)|(3[03][98][0-9]{6}$))/');function phone_sn_metadata() {  // These strings are translated using t() on output.  return array(    'error' => '"%value" is not a valid Senegalese phone number',  );}/** * Verification for Senegalese Phone Numbers. * * @param string $phonenumber * @return boolean Returns boolean FALSE if the phone number is not valid. */function valid_sn_phone_number($phonenumber) {  $phonenumber  = str_replace(array(' ', '-', '(', ')') , '', $phonenumber);  return (bool) preg_match(PHONE_SN_REGEX, $phonenumber);}/** * Formatting for Senegalese Phone Numbers. * * @param string $phonenumber * @return string Returns the phone number as string. */function format_sn_phone_number($phonenumber, $field = FALSE) {  $phone  = str_replace(array(' ', '-', '(', ')'), '', $phonenumber);  if (preg_match(PHONE_SN_REGEX, $phone, $matches) != 1) {    return $phonenumber; // not a french phone number  }  //  if (in_array($matches[0], array('+221', '00221'))) {    return $matches[2];  }  else {    return $matches[0];  }}
 |