Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/07/2009, 02:10
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Problemas con Ñ, tildes, etc (2)

Hola amigo, ya encontre una solucion, saludos

Código PHP:
<?
//INICIO DE LA COMPROBACION DE CARACTERES ESPECIALES
    
class unicode_replace_entities {
        public function 
UTF8entities($content="") {
            
$contents $this->unicode_string_to_array($content);
            
$swap "";
            
$iCount count($contents);
            for (
$o=0;$o<$iCount;$o++) {
                
$contents[$o] = $this->unicode_entity_replace($contents[$o]);
                
$swap .= $contents[$o];
            }
            return 
mb_convert_encoding($swap,"UTF-8");
        }

        public function 
unicode_string_to_array$string ) { 
            
$strlen mb_strlen($string);
            while (
$strlen) {
                
$array[] = mb_substr$string01"UTF-8" );
                
$string mb_substr$string1$strlen"UTF-8" );
                
$strlen mb_strlen$string );
            }
            return 
$array;
        }

        public function 
unicode_entity_replace($c) { 
            
$h ord($c{0});   
            if (
$h <= 0x7F) {
                return 
$c;
            } else if (
$h 0xC2) {
                return 
$c;
            }
           
            if (
$h <= 0xDF) {
                
$h = ($h 0x1F) << | (ord($c{1}) & 0x3F);
                
$h "&#" $h ";";
                return 
$h;
            } else if (
$h <= 0xEF) {
                
$h = ($h 0x0F) << 12 | (ord($c{1}) & 0x3F) << | (ord($c{2}) & 0x3F);
                
$h "&#" $h ";";
                return 
$h;
            } else if (
$h <= 0xF4) {
                
$h = ($h 0x0F) << 18 | (ord($c{1}) & 0x3F) << 12 | (ord($c{2}) & 0x3F) << | (ord($c{3}) & 0x3F);
                
$h "&#" $h ";";
                return 
$h;
            }
        }
    }
####################### FIN DE LA COMPROBACION de letras especiales
    
$content $_POST['texto'];
    
$oUnicodeReplace = new unicode_replace_entities();
    
$content $oUnicodeReplace->UTF8entities($content);

echo 
$content;
// casi olvido cerrar con ? > jaja
?>
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.