如何使用PHP从完整的电子邮件文本中提取电子邮件和名称?

asl*_*tor 1 php string email

我有一个字符串

$email_string='Aslam Doctor <aslam.doctor@gmail.com>';
Run Code Online (Sandbox Code Playgroud)

我想从中使用PHP提取名称和电子邮件?这样我才能得到

$email='aslam.doctor@gmail.com';
$name='Aslam Doctor'
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Ric*_*ers 6

尽管人们可能会推荐正则表达式,但我会说使用explode().爆炸使用任何分隔符将字符串拆分为多个子字符串.在这种情况下,我使用'<'作为分隔符,立即剥离名称和电子邮件之间的空格.

$split = explode(' <', $email_string);
$name = $split[0];
$email = rtrim($split[1], '>');
Run Code Online (Sandbox Code Playgroud)

rtrim()将修剪字符串末尾的'>'字符.


dfs*_*fsq 6

使用explode+ list:

$email_string = 'Aslam Doctor <aslam.doctor@gmail.com>';
list($name, $email) = explode(' <', trim($email_string, '> '));
Run Code Online (Sandbox Code Playgroud)