如何在给定的字符串laravel中找到人的名字?

时间:2016-12-22 16:57:29

标签: php laravel

我需要从文件中获取所有人的姓名(David,Jonathan,Ferdinand)(简历)。我可以在正则表达式的帮助下获得电子邮件ID和电话

$email = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,3})(?:\.[a-z]{2})?/i';

$phone = ^\(?\+?([0-9]{1,4})\)?[-\. ]?(\d{10})$

但我如何找到名字?简历中的详细信息顺序可以是任何格式。我尝试使用wordsAPI并执行类似

的操作
$word = WordsApi::word('name');
if($word->synonyms()==null)
{
   $name = $word;
}

但不幸的是,它为John,Mathew,Fernandez等名字带来了回报。有没有什么特别的方法来实现这个目标?

1 个答案:

答案 0 :(得分:0)

电话和电子邮件很容易找到,因为它们的格式非常标准,可以轻松挑选出来。另一方面,名称在相同的感知电话号码和电子邮件中不使用严格的格式。

您可以尝试使用他们的电子邮件地址来查找姓名。大多数人出于商业原因使用他们的名/姓作为他们的电子邮件地址。许多公司在某些情况下使用第一个姓氏或完整的第一个和最后一个姓名。

因此,如果您正在寻找John Smith并且电子邮件是jsmith@gmail.com,您可以使用PHP查找smith加上上一个单词,直到下一个空格字符或行结束/开头

$email = 'jsmith@gmail.com'
$_name = substr($email, 1, strpos($email, '@')-1);
preg_match('/(\w+\s'.$_name.')/mi', $resume, $name);

这假定第一个姓氏的电子邮件格式。你需要正则表达式来测试完整的第一个完整的最后一个,完整的姓氏的第一个首字母等,并希望其中一个给你一个名字!