instasent / sms-counter-php
SMS Counter PHP Class Library which detects encoding of an SMS message text, counts the characters as per the encoding and gives page limit information.
Installs: 871 429
Dependents: 5
Suggesters: 0
Security: 0
Stars: 49
Watchers: 6
Forks: 29
Open Issues: 7
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: ^5.0
README
Character counter for SMS Messages
Usage
use Instasent\SMSCounter\SMSCounter; $smsCounter = new SMSCounter(); $smsCounter->count('some-string-to-be-counted'); $smsCounter->countWithShiftTables('some-string-to-be-counted');
which returns
stdClass Object
(
[encoding] => GSM_7BIT
[length] => 25
[per_message] => 160
[remaining] => 135
[messages] => 1
)
UTF16 notice
When using unicode chars over U+10000 (mainly emoticons 😎) on messages larger than 70 chars the remaining value will actually be the remaining chars in last message part only, this is due to how those chars are encoded using two 16bit chars and max part length being an odd number (67)
Sanitization
You can sanitize your text to be a valid strict GSM 03.38 charset
use Instasent\SMSCounter\SMSCounter; $smsCounter = new SMSCounter(); $smsCounter->sanitizeToGSM('dadáó'); //return dadao
National Language Shift Tables
Starting release 8 of GSM 03.38 some additional charsets are allowed. This is the list of such National Language Shift Tables currently supported
Installation
sms-counter-php
is available via composer on packagist.
{ "require": { "instasent/sms-counter-php": "^0.4" } }
License
SMS Counter (PHP) is released under the MIT License
Mentions
- Original idea : danxexe/sms-counter
- Fork Idea from: acpmasquerade/sms-counter-php