Completed
Push — master ( f62db3...08f42b )
by Joachim
22:01
created

functions.php ➔ messageLength()   B

Complexity

Conditions 4
Paths 4

Size

Total Lines 22
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 12
nc 4
nop 2
dl 0
loc 22
rs 8.9197
c 0
b 0
f 0
1
<?php
2
namespace Loevgaard\Linkmobility;
3
4
function chunkCount(string $message, $unicode = false) : int
5
{
6
    $chunkCount = 1;
7
    $length = messageLength($message, $unicode);
8
9
    if($unicode && $length > 70) {
10
        $chunkCount = ceil($length / 67);
11
    } elseif($length > 160) {
12
        $chunkCount = ceil($length / 153);
13
    }
14
15
    return $chunkCount;
16
}
17
18
function messageLength($message, $unicode = false) : int
19
{
20
    $length = mb_strlen($message);
21
22
    if($unicode) {
23
        return $length;
24
    }
25
26
    $doubles = ['|', '^', '€', '{', '}', '[', ']', '~', '\\'];
27
    $addToLength = 0;
28
29
    for($i = 0; $i < $length; $i++) {
30
        $char = mb_substr($message, $i, 1);
31
        if(in_array($char, $doubles)) {
32
            $addToLength++;
33
        }
34
    }
35
36
    $length += $addToLength;
37
38
    return $length;
39
}
40