Foros del Web » Programando para Internet » PHP »

Expresion regular

Estas en el tema de Expresion regular en el foro de PHP en Foros del Web. Hola como esta!! Tengo un problema con una expresion regular para extraer un email desde un texto. El problema esta en que no me sirven ...
  #1 (permalink)  
Antiguo 02/09/2009, 11:59
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 16 años
Puntos: 7
Expresion regular

Hola como esta!!

Tengo un problema con una expresion regular para extraer un email desde un texto.

El problema esta en que no me sirven alguna expresiones regulares NOSE si es porque estoy en wind y trabajan diferentes!

Lo que ocupo no es validar es extraer por ejemplo,

Código PHP:
jamesjara_19990@hotmail.com
<jamesjaraff3@hotmail.com>
<
test3@hotmail.com>
234111·%%·/test3@hotmail.com

Esta me a servido ^[^@]+@[-a-z0-9.]+$ , pero es demasiado simple :-s
no me trae la que tienen <>

Encontre esta otra: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}
Creo que esa es mejor ninguna, pero no me sirve :-s

nota:esto obvio se mete en la linea de regexpr de php
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #2 (permalink)  
Antiguo 02/09/2009, 12:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Expresion regular

Te sugiero usar preg_match y una expresion similar a esto
Código php:
Ver original
  1. preg_match("/\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2,6}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))/", $lines, $matches);
  2. print_r($matches);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:42.