 
			
				04/11/2007, 21:09
			
			
			     |  
        |     |    |    Fecha de Ingreso: abril-2007  
						Mensajes: 3.303
					  Antigüedad: 18 años, 6 meses Puntos: 292     |        |  
  |      Re: cortar caracteres especiales con substr        En otro hilo dan esta funcion que arregla los acentos (todos)    Cita:  function crossUrlDecode($source) { 
// arregla acentos! 
	$decodedStr = ''; 
	$pos = 0; 
	$len = strlen($source); 
	while ($pos < $len) { 
		$charAt = substr ($source, $pos, 1); 
		if ($charAt == 'Ã') { 
			$char2 = substr($source, $pos, 2); 
			$decodedStr .= htmlentities(utf8_decode($char2),ENT_QUOTES,'ISO-8859-1'); 
			$pos += 2; 
		} 
		elseif(ord($charAt) > 127) { 
			$decodedStr .= "&#".ord($charAt).";"; 
			$pos++; 
		} 
		elseif($charAt == '%') { 
			$pos++; 
			$hex2 = substr($source, $pos, 2); 
			$dechex = chr(hexdec($hex2)); 
			if($dechex == 'Ã') { 
				$pos += 2; 
				if(substr($source, $pos, 1) == '%') { 
					$pos++; 
					$char2a = chr(hexdec(substr($source, $pos, 2))); 
					$decodedStr .= htmlentities(utf8_decode($dechex . $char2a),ENT_QUOTES,'ISO-8859-1'); 
				} 
				else { 
					$decodedStr .= htmlentities(utf8_decode($dechex)); 
				} 
			} 
			else { 
				$decodedStr .= $dechex; 
			} 
			$pos += 2; 
		} 
		else { 
			$decodedStr .= $charAt; 
			$pos++; 
		} 
	} 
	return $decodedStr; 
}                |