これが私のCodeigniter関数です:
function edit_phone($phone)
{
if (preg_match('/^\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}$/', $phone))
{
return preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "$1-$2-$3", $phone);
}
else
{
$this->CI->validation->set_message('phone', "This must be a 10-digit USA phone number.");
return FALSE;
}
}
これにより、入力が正常に検証/チェックされますが、データベースで再フォーマットされません。
検証は素晴らしいです!しかし、なぜこれが標準の電話番号を返さないのですか?!