我正在嘗試編寫一個函數,它將從在地球某處有效的字符串中提取有效的電話號碼。這是一個真正的國際性網站,適用於遍佈全球的地點以及每個地點的用戶訪問該地點的組織。識別PHP中字符串中的國際電話號碼
我主要需要這個數據庫遷移。我正在遷移的以前的網站只使用了一個簡單的文本字段,沒有指示,也沒有過濾。因此,這導致手機領域被用於各種創造性的方式。
我正在尋找它只是爲了確定字符串中的第一個電話號碼,然後可能會刪除任何過多的字符,然後將結果設置爲用戶配置文件信息。
我正在嘗試編寫一個函數,它將從在地球某處有效的字符串中提取有效的電話號碼。這是一個真正的國際性網站,適用於遍佈全球的地點以及每個地點的用戶訪問該地點的組織。識別PHP中字符串中的國際電話號碼
我主要需要這個數據庫遷移。我正在遷移的以前的網站只使用了一個簡單的文本字段,沒有指示,也沒有過濾。因此,這導致手機領域被用於各種創造性的方式。
我正在尋找它只是爲了確定字符串中的第一個電話號碼,然後可能會刪除任何過多的字符,然後將結果設置爲用戶配置文件信息。
你可以使用這樣的事情:
$pattern = '/([\+_\-\(\)a-z ]+)/';
或
$pattern = '/([^0-9]+)/i';
$phone = preg_replace($pattern,'', $phone);
,或者使用PHP的過濾器,如:
$phone = (int) filter_var($phone, FILTER_SANITIZE_NUMBER_INT);
雖然與過濾器,你將需要小心如果您允許值以「0」開頭。
然後,無論哪種方式,檢查允許的電話號碼範圍〜6-12或任何您的範圍涵蓋。
首先,您需要編譯一個有效的電話號碼格式列表。
其次,您將需要創建正則表達式來識別每種格式。
第三,您將針對文本運行正則表達式來查找數字。
有一個PHP端口可用Google's Phone Number Library。
我已將這兩個添加到我用於檢測數字的模式列表中。我只是想我會通過一個列表,直到它找到一個匹配,然後返回匹配。謝啦! – pthurmond 2011-06-16 15:40:39