Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/11/2007, 12:47
txels
 
Fecha de Ingreso: mayo-2005
Mensajes: 74
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: cortar caracteres especiales con substr

puedes hacerte dos funciones, una que cambie los caracteres especiales, por sus caracteres reales (que en substr contarán como solo 1 y no se cortarán)

y otra función para volverlos a poner...algo tal que así:


function ponCaracteresReales($texto){
$txt = $texto;
$txt = str_replace("á","á",$txt);
$txt = str_replace("é","é",$txt);

// y así con todos los caracteres y luego devuelves

return $txt;

}

function ponCaracteresEspeciales($texto){
$txt = $texto;
$txt = str_replace("á","á",$txt);
$txt = str_replace("é","é",$txt);

//continua poniendo los demas caracteres a sustituir...
return $txt;
}

con estas dos funciones que tu completarás puedes hacer el proceso sin peligro de que te salgan cosas "raras"


$cadena = "El Verano es Más Corto que el Invierno";

$cadena = ponCaracteresReales($cadena);
$n_cadena = substr("$cadena", 0, 18);
$n_cadena = ponCaracteresEspeciales($n_cadena);


Listo!! te devolverá:
El Verano es Más C


espero te sirva.