Cita:
Iniciado por pateketrueke ¿La cadena a analizar contiene únicamente dicho valor o tiene más texto?
Porque la expresión regular que utilizas es muy estricta, pues al usar ^ y $ le indicas que analice exactamente desde el inicio hasta el final.
Lee lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/ Buenas, gracias por tu respuesta, a día de hoy siempre que vuelvo a tener que lidiar con las expresiones regulares me armo un lío
. El tema es que tengo un string muy largo que es la cabecera de un correo .
Más o menos algo así:
xxxxxxxxxxxxxxxxxxxxxxxx <
[email protected]>sssssssssssssssssssss
Acabo de probar así
preg_match("/<\w+>/i", $headers, $from);
y var_dump($from) me sigue devolviendo un array vacío :).
Tampo así:
preg_match("/<([\w])+>/i", $headers, $from);
Ni así:
preg_match("/(<[\w]+>)+/i", $headers, $from);
Así he conseguido obtener la palabra Receibed:
preg_match("/[<(\w)>]+/i", $headers, $from);
Código:
El contexto es este:
Received: from [112.108.10.08] by xxxxxx.dddd.com with SMTP (dddd xxx.ssss.com)
(ArGoSoft Mail Server Pro for WinNT/2000/XP, Version 1.8 (1.8.9.1)); Mon, 17 Nov 2014 15:21:58 +0100
X-Priority: 1
X-MSMail-Priority: High
X-Mailer: PV 6.00
X-MimeOLE: PV 6.00
Reply-To: [email protected]
Message-ID: <CDDDDDDDSSDD>
From: "Demo" <[email protected]>
To: [email protected]
Subject: asunto del tema
Date: Mon, 17 Nov 2014 15:21:55 +0100
MIME-Version: 1.0
C'..
Lo que quiero es "coger" ese string entero y sacar de ahí el mail <
[email protected]>(SIN LAS < >) ,pero parece que no he armado bien la expresión regular (no obstante voy a leer inmediatamente ese aporte que tiene buena pinta).
He leído el aporte pero sigo sin conseguirlo :(.
Mil gracias