Posted By

n19ht on 11/18/11


Tagged

php utf8 Detectar


Versions (?)

Who likes this?

1 person have marked this snippet as a favorite

guillermoj88gmailcom


Detectar Texto UTF8 en PHP


 / Published in: PHP
 

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

  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  

You need to login to post a comment.