Code Duplication    Length = 7-21 lines in 2 locations

class/Utility.php 1 location

@@ 1267-1287 (lines=21) @@
1264
public static function isUtf8($Str)
1265
{ # by bmorel at ssi dot fr
1266
        for ($i = 0, $iMax = strlen($Str); $i < $iMax; ++$i) {
1267
            if (ord($Str[$i]) < 0x80) {
1268
                continue;
1269
            } # 0bbbbbbb
1270
            elseif ((ord($Str[$i]) & 0xE0) == 0xC0) {
1271
                $n = 1;
1272
            } # 110bbbbb
1273
            elseif ((ord($Str[$i]) & 0xF0) == 0xE0) {
1274
                $n = 2;
1275
            } # 1110bbbb
1276
            elseif ((ord($Str[$i]) & 0xF8) == 0xF0) {
1277
                $n = 3;
1278
            } # 11110bbb
1279
            elseif ((ord($Str[$i]) & 0xFC) == 0xF8) {
1280
                $n = 4;
1281
            } # 111110bb
1282
            elseif ((ord($Str[$i]) & 0xFE) == 0xFC) {
1283
                $n = 5;
1284
            } # 1111110b
1285
            else {
1286
                return false;
1287
            } # Does not match any model
1288
            for ($j = 0; $j < $n; ++$j) { # n bytes matching 10bbbbbb follow ?
1289
                if ((++$i == strlen($Str)) || ((ord($Str[$i]) & 0xC0) != 0x80)) {
1290
                    return false;

include/functions.php 1 location

@@ 872-878 (lines=7) @@
869
870
function lx_seemsUtf8($Str) { # by bmorel at ssi dot fr
871
    for ($i=0; $i<strlen($Str); $i++) {
872
        if (ord($Str[$i]) < 0x80) continue; # 0bbbbbbb
873
        elseif ((ord($Str[$i]) & 0xE0) == 0xC0) $n=1; # 110bbbbb
874
        elseif ((ord($Str[$i]) & 0xF0) == 0xE0) $n=2; # 1110bbbb
875
        elseif ((ord($Str[$i]) & 0xF8) == 0xF0) $n=3; # 11110bbb
876
        elseif ((ord($Str[$i]) & 0xFC) == 0xF8) $n=4; # 111110bb
877
        elseif ((ord($Str[$i]) & 0xFE) == 0xFC) $n=5; # 1111110b
878
        else return false; # Does not match any model
879
        for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
880
            if ((++$i == strlen($Str)) || ((ord($Str[$i]) & 0xC0) != 0x80))
881
            return false;