定义带有法语口音的 SMS unicode utf8_decode

SMS unicode defining whith french accents utf8_decode

在短信网关中,我想确定是否应该对短信进行计数并将其视为纯文本或 unicode 我正在使用此代码

if (strlen($sms) != strlen(utf8_decode($sms))) {
                    if ($msg_type == 'plain' || $msg_type == 'voice' || $msg_type == 'mms') {
                        $msg_type = 'unicode';
                    }

它工作正常,但它也包括法语口音,如 é à è 将包含它们的短信计算为 unicode,但它不应该

是否可以对这 3 个字母 é è à 进行例外处理,这样如果包含它们,它就不会将 sms 计为 unicode?

非常感谢

Any idea to make an exception for these 3 letters é è à so it doesn't count sms as unicode if it contains them ?

在进行“普通”与 unicode 字符串长度比较之前,将它们替换为 ea

$smsModified = str_replace(['à', 'é', 'è'], ['a', 'e', 'e'], $sms);
if (strlen($smsModified) != strlen(utf8_decode($smsModified))) { ... }