| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | <?php/** * @file * CCK Field for Costa Rican phone numbers. */ function phone_cr_metadata() {   // These strings are translated using t() on output.   return array(     'error' => '"%value" is not a valid Costa Rican phone number!<br>Costa Rican phone numbers should contain only numbers and spaces be like 99 99 99 99 with an optional prefix of "+506" or "00506".',   ); }/** * Verifies that $phonenumber is a valid eight-digit Costa Rican phone number * * @param string $phonenumber * @return boolean Returns boolean FALSE if the phone number is not valid. */function valid_cr_phone_number($phonenumber) {  //$phonenumber = trim($phonenumber);  // define regular expression    $regex = "/(00)?[\s|-]?((\+)?[\s|-]?[0-9]{3})?[\s|-]?([0-9]{2})[\s|-]?([0-9]{2})[\s|-]?([0-9]{2})[\s|-]?([0-9]{2})[\s|-]?/";  // return true if valid, false otherwise  return (bool) preg_match($regex, $phonenumber);}/** * Convert a valid Costa Rican phone number into standard (+506) 5555 55 55 format * * @param $phonenumber must be a valid eight-digit number (with optional international prefix) * */  /*    Accepts:        +506 88798857 		+506 88-79-88-57        00506 88798857        00506 88-79-88-57    Rejects:        +506 8 8798857 		+506 8 8-79-88-57        00506 8 8798857        00506 8 8-79-88-57  */function format_cr_phone_number($phonenumber, $field = FALSE) {  // define regular expression    $regex = "/(00)?[\s|-]?((\+)?[\s|-]?[0-9]{3})?[\s|-]?([0-9]{2})[\s|-]?([0-9]{2})[\s|-]?([0-9]{2})[\s|-]?([0-9]{2})[\s|-]?/";  // get digits of phone number  //dprint_r($matches);  preg_match($regex, $phonenumber, $matches);  // construct eight-digit phone number  //dprint_r($matches);  $phonenumber = $matches[4] . '-' . $matches[5] . '-' . $matches[6] . '-' . $matches[7];  if($matches[2]){  	if($matches[1])  		$phonenumber =  "+" . $matches[2] . " " . $phonenumber;  	else  		$phonenumber =  $matches[2] . " " . $phonenumber;  }  return $phonenumber;}
 |