0
我查看了一下,找不到我的問題的確切答案。檢測需要用於SMS消息的Unicode轉換的字符
基本上我有一個我正在使用的短信網關。要通過他們的短信網關發送GSM,中文,阿拉伯文等字符,我必須將該消息作爲16位unicode發送。
我想要做的是檢測是否該消息將需要發送16位Unicode或者只是普通的老7位簡單的英文字符。我所有的角色都以UTF-8格式保存。
這裏是我的代碼,我使用來檢測這樣的:
if (preg_match("/^[a-zA-Z0-9 [email protected]#$%^&*()-_+={\[\]}|\\`<>,.\?\/]*$/u", $string) == 1)
return '7-bit';
else
return '16-bit';
我在這裏已經上傳了一些測試用例:http://phpfiddle.org/lite/code/v7f-gi0(只需點擊運行按鈕)
的代碼似乎真的凌亂我。我是否以這種錯誤的方式去做?
可能重複[入住,PHP的unicode(http://stackoverflow.com/questions/1350758/check-unicode-in-php) –
爲什麼不用'^ [\ x00- \ x7F] * $'? – Gumbo