phlib / sms-length
SMS长度计算,使用GSM 03.38和GSM 03.40
2.0.1
2022-06-26 04:31 UTC
Requires
- php: ^7.3|^8.0
- ext-mbstring: *
Requires (Dev)
README
计算SMS GSM 03.38消息编码和长度,以及需要拼接的短信数量
安装
composer require phlib/sms-length
使用方法
适合在GSM 03.38 7位字母表内的小字符串
$smsLength = new \Phlib\SmsLength\SmsLength('simple message'); $smsLength->validate(); // Throw exceptions for any validation failures $smsLength->getSize(); // 14 $smsLength->getEncoding(); // '7-bit' $smsLength->getMessageCount(); // 1 $smsLength->getUpperBreakpoint(); // 160
包含强制切换到使用GSM 03.38 UCS-2的字符的消息
$smsLength = new \Phlib\SmsLength\SmsLength('message with • char requiring UCS-2'); $smsLength->validate(); // Throw exceptions for any validation failures $smsLength->getSize(); // 35 $smsLength->getEncoding(); // 'ucs-2' $smsLength->getMessageCount(); // 1 $smsLength->getUpperBreakpoint(); // 70
背景
在我们向商业软件添加短信模块的过程中,我们发现需要包含在此包中的短信长度属性。
当然,如果消息长度超过最大允许值,我们的第三方短信网关提供商的API将出错,并正确处理给定UTF-8字符串的拼接和编码。
但是,我们希望在用户构建他们的短信活动(在实际发送之前)时通知他们消息大小和限制。此外,我们还需要显示每个联系人的拼接短信数量,并据此表示价格。
此包执行的单元测试和检查基于GSM 03.38 / 3GPP 23.038进行编码和基于GSM 03.40 / 3GPP 23.040进行拼接短信。我们还参考了第三方短信网关提供商(如MessageBird和Messente)提供的文档。
许可证
此包是免费软件:您可以在自由软件基金会发布的GNU通用公共许可证的条款下重新分发和/或修改它,许可证版本为3,或者(根据您的选择)任何后续版本。
此程序是在希望它有用的愿望下分发的,但没有任何保证;甚至没有关于适销性或针对特定目的的适用性的暗示保证。有关详细信息,请参阅GNU通用公共许可证。
您应该已收到GNU通用公共许可证的副本。如果没有,请参阅https://gnu.ac.cn/licenses/。