我有一個電話號碼與連字符混洗。我想通過刪除不需要的連字符並使用php添加必要的連字符將此電話號碼轉換爲美國格式。 例如如何將電話號碼轉換爲美國格式的電話號碼?
$phone=123--45-6-4523;
我想cahnge以上至
$phone=123-456-4523;
我有一個電話號碼與連字符混洗。我想通過刪除不需要的連字符並使用php添加必要的連字符將此電話號碼轉換爲美國格式。 例如如何將電話號碼轉換爲美國格式的電話號碼?
$phone=123--45-6-4523;
我想cahnge以上至
$phone=123-456-4523;
$phone="123--45-6-4523";
$phone = str_replace("-", "", $phone);// remove all the dashes
$phone = substr($phone, 0,3) . "-" . // add the two dashes in the right places
substr($phone, 3,3) . "-" . substr($phone, 6);
echo $phone;
輸出
123-456-4523
<?php
$phone=123--45-6-4523;
$phone=str_split(str_ireplace('-','',$phone));
$c=0;
$no='';
foreach($phone as $a)
{
if($c==2||$c==5)
$no.='-';
$no.=$a
c++;
}
?>
希望它能幫助。
$phone="123--45-6-4523";
$phone=str_replace("-","",$phone);
$american_phone="";
for ($i=0;$i<strlen($phone);$i++)
{
$american_phone.=$phone[$i];
if ($i==2 || $i==5)
$american_phone.="-";
}
echo $american_phone;
我去掉連字符,然後第3和第6位後加2個連字符。我不知道美國的數字。如果您需要別的東西,指定...
preg_replace('/^(\d{3})[-]*(\d{3})[-]*(\d{4})$/i', '$1-$2-$3', '123--456-4523');
這解決了你的上述情況,但如果有更多的嘗試修改正則表達式。
我建議你嘗試自己解決你的編碼問題。如果他們不工作,請在這裏發佈您的最佳嘗試,並解釋您遇到的問題。 – dcaswell