Asi a lo rápido lo que se me ocurren 3 maneras que te pueden interesar:
Solo los nombres Código PHP:
preg_match_all('/[A-Z][^,\(\)\s]+/', $texto, $extraido3);
Resultado
Array ( [0] => Array ( [0] => Juan [1] => Pedro [2] => Carlos ) )
Explicación Le decimos que lo que queremos encontrar es una palabra que empiece con mayusculas y que despues no contenga ni comas ni parentesis 1 o mas veces. Obtenemos nombres y emails Código PHP:
preg_match_all('/[^,\(\)]+/', $texto, $extraido3);
Resultado
Array ( [0] => Array ( [0] => Juan [1] =>
[email protected] [2] => Pedro [3] =>
[email protected] [4] => Carlos [5] =>
[email protected] ) )
Explicación: Obtenemos todas las coincidencias de palabras que no contengan , ( ) una o mas veces. En otras palabras estamos recortando las palabras que estan entre parentesis y las que estan separadas por comas. Solo los emails Código PHP:
preg_match_all('/[^,\(\)]+@[^,\(\)]+/', $texto, $extraido3);
Resultado
Array ( [0] => Array ( [0] =>
[email protected] [1] =>
[email protected] [2] =>
[email protected] ) )
Explicación: Obtenemos todos los elementos que no tengan parentesis al ni coma al principio o al final y que contengan un @