necesitas aprender expresiones regulares... Googlea un rato y sabras!
un ejemplo facil seria esto....
Código PHP:
preg_match_all('/[a-z0-9\._-]+'. // letras, numeros y puntos... guiones
'@'. // la @[rroba]
'[a-z0-9\._-]+'. // mismos caracteres legales... (indistinto en orden)
'/i', // insensible a mayusculas y minusculas...
'\\0', // identifica todo lo "hallado"
$texto, $mails);
solo "captaria" los emails con forma:
[email protected] (aunque sea ilegal) vaya, solo combinaciones de estos caracteres....
a-z0-9._- ..dentro de la variable $mails (como arreglo) este es solo un ejemplo.... tu podrias encontrar mas en la pagina del manual de PHP, y asi mismo aprenderás a crear tus propias expresiones para detectar y reemplazar patrones en cadenas de texto... suerte!