note 85034 modified in function.utf8-decode by felipe

From: Date: Tue, 12 Aug 2008 12:17:02 +0000
Subject: note 85034 modified in function.utf8-decode by felipe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-143389@lists.php.net to get a copy of this message
Squirrelmail contains a nice function in the sources to convert unicode to entities: <?php function charset_decode_utf_8 ($string) { /* Only do the slow convert if there are 8-bit characters */ /* avoid using 0xA0 (\240) in ereg ranges. RH73 does not like that */ if (! ereg("[\200-\237]", $string) and ! ereg("[\241-\377]", $string)) return $string; // decode three byte unicode characters $string = preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e", \ "'&#'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).';'", \ $string); // decode two byte unicode characters $string = preg_replace("/([\300-\337])([\200-\277])/e", \ "'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'", \ $string); return $string; } ?> --was-- Squirrelmail contains a nice function in the sources to convert unicode to entities: function charset_decode_utf_8 ($string) { /* Only do the slow convert if there are 8-bit characters */ /* avoid using 0xA0 (\240) in ereg ranges. RH73 does not like that */ if (! ereg("[\200-\237]", $string) and ! ereg("[\241-\377]", $string)) return $string; // decode three byte unicode characters $string = preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e", \ "'&#'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).';'", \ $string); // decode two byte unicode characters $string = preg_replace("/([\300-\337])([\200-\277])/e", \ "'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'", \ $string); return $string; } http://php.net/manual/en/function.utf8-decode.php

« previous php.notes (#143389) next »