Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/03/2014, 13:09
lucasgabmoreno
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problemas con Yahoo!, htmlentities(), caracteres especiales y PHPMailer

Ahora pude:


Cita:
$html = "<div>Estoy en HTML</div>";
$nohtml = "No estoy en HTML :(";

function html_txt($a){
ini_set('memory_limit', '-1');
$a = htmlentities($a, ENT_COMPAT, 'UTF-8');
$a = str_replace(array("&lt;","&gt;","&quot;"),array("< ",">","\""),$a);
return $a;
};

function nohtml_txt($a){
// convertir caracteres para evitar incompatibilidad
$especial = array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Â', 'Ä','é', 'è', 'ë', 'ê', 'É', 'È', 'Ê', 'Ë','í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î','ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô','ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Û', 'Ü','ç', 'Ç');
$limpio = array('a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a','e', 'e', 'e', 'e', 'e', 'e', 'e', 'e','i', 'i', 'i', 'i', 'i', 'i', 'i', 'i','o', 'o', 'o', 'o', 'o', 'o', 'o', 'o','u', 'u', 'u', 'u', 'u', 'u', 'u', 'u','c', 'c');
$a = str_replace($especial,$limpio,$a);
$a = str_replace(array("\\", "º","¡","¿", "¨", "´"),'',$a);
$a = str_replace("·",'-',$a);
return $a;
};

$mail->Body = html_txt($html);
$mail->AltBody = nohtml_txt($nohtml);
No acepta imagenes en base 64 pero cambiando toda la cadena después con un poco de maña ... ;)