Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/12/2005, 15:58
Avatar de Kernellover
Kernellover
 
Fecha de Ingreso: noviembre-2002
Ubicación: Perdido
Mensajes: 251
Antigüedad: 21 años, 5 meses
Puntos: 0
Esto ha quedado así, lo pongo en un simple ejemplo para quien le interese.

NOTA: ya se que es un chorro de expreión regular pero es la bomba porque no admite según que correos falsos o mal sentenciados.

Código PHP:
$correo_destinatarios="hola, mi correo es [email protected], el de mi suegra [email protected] y el de mi gato [email protected] yata.";
 
$secuencia"(([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*)))"

preg_match_all ($secuencia$correo_destinatarios$correo);
 
for(
$x=0;$x<count($correo[0]);$x++){
    
$mail .= $correo[0][$x].", ";
}
 
echo 
$mail
Si nos fijamos, en la variable $correo_destinatarios hay el texto mezclado junto con varios correos electrónicos. La variable $secuencia contiene la cadena de la expresión regular de un correo electrónico. En la variable $correo tenemos un array multidimensional y en la posición [0] tenemos un array con el resultado de las coincidencias de toda la expresión regular.

Para verlo claro he puesto el for así a lo tonto, espero que de este modo quede mas claro.


Suerte con vuestros proyectos.