Detectar Texto UTF8 en PHP


/ Published in: PHP
Save to your folder(s)

Esta función devuelve true si el argumento está codificado en utf8


Copy this code and paste it in your HTML
  1. function isUTF8($string){
  2. for($idx = 0, $strlen = strlen($string); $idx < $strlen; $idx++){
  3. $byte = ord($string[$idx]);
  4. if($byte & 0x80){
  5. if(($byte & 0xE0) == 0xC0){
  6. // 2 byte char
  7. $bytes_remaining = 1;
  8. }elseif(($byte & 0xF0) == 0xE0){
  9. // 3 byte char
  10. $bytes_remaining = 2;
  11. }elseif(($byte & 0xF8) == 0xF0){
  12. // 4 byte char
  13. $bytes_remaining = 3;
  14. }else{
  15. return false;
  16. }
  17.  
  18. if($idx + $bytes_remaining >= $strlen){
  19. return false;
  20. }
  21.  
  22. while($bytes_remaining--){
  23. if((ord($string[++$idx]) & 0xC0) != 0x80){
  24. return false;
  25. }
  26. }
  27. }
  28. }
  29. return true;
  30. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.