diff options
Diffstat (limited to 'includes/inc_utils.php')
-rw-r--r-- | includes/inc_utils.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/includes/inc_utils.php b/includes/inc_utils.php new file mode 100644 index 0000000..a984794 --- /dev/null +++ b/includes/inc_utils.php @@ -0,0 +1,27 @@ +<?php +function is_utf8($str) { + $c=0; $b=0; + $bits=0; + $len=strlen($str); + for($i=0; $i<$len; $i++){ + $c=ord($str[$i]); + if($c > 128){ + if(($c >= 254)) return false; + elseif($c >= 252) $bits=6; + elseif($c >= 248) $bits=5; + elseif($c >= 240) $bits=4; + elseif($c >= 224) $bits=3; + elseif($c >= 192) $bits=2; + else return false; + if(($i+$bits) > $len) return false; + while($bits > 1){ + $i++; + $b=ord($str[$i]); + if($b < 128 || $b > 191) return false; + $bits--; + } + } + } + return true; +} +?> |