Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在给定的字符串中找到人名?_Php_Laravel - Fatal编程技术网

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

Php 如何在给定的字符串中找到人名?,php,laravel,Php,Laravel,我需要从一份文件(简历)中获取所有人的姓名(大卫、乔纳森、费迪南德)。在regex的帮助下,我可以获得电子邮件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::

我需要从一份文件(简历)中获取所有人的姓名(大卫、乔纳森、费迪南德)。在regex的帮助下,我可以获得电子邮件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等名字返回值。有什么特别的方法可以实现这一点吗?

电话和电子邮件很容易找到,因为它们的格式非常标准,而且很容易识别。另一方面,名字并不像电话号码和电子邮件那样使用严格的格式

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

因此,如果你正在寻找约翰·史密斯,并且电子邮件是jsmith@gmail.com您可以使用PHP查找
smith
加上上上一个单词,直到下一个空格字符或行尾/开头

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

这假定电子邮件格式为首字母姓氏。你需要正则表达式来测试全名的首字母,全名的首字母,等等,希望其中一个能给你一个名字

电话和电子邮件很容易找到,因为它们的格式非常标准,很容易识别。另一方面,名字并不像电话号码和电子邮件那样使用严格的格式

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

因此,如果你正在寻找约翰·史密斯,并且电子邮件是jsmith@gmail.com您可以使用PHP查找
smith
加上上上一个单词,直到下一个空格字符或行尾/开头

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

这假定电子邮件格式为首字母姓氏。你需要正则表达式来测试全名的首字母,全名的首字母,等等,希望其中一个能给你一个名字

好的,在这种情况下。如果约翰·史密斯用这样的电子邮件怎么办js1985@gmail.com?@Navenkumar那么你就有点不走运了。正如我在回答中指出的那样,除了First、Last或Last、First之外,没有固定的书写标准。这使得从简历中挑选一个名字变得非常困难。好吧,在这种情况下。如果约翰·史密斯用这样的电子邮件怎么办js1985@gmail.com?@Navenkumar那么你就有点不走运了。正如我在回答中指出的那样,除了First、Last或Last、First之外,没有固定的书写标准。这使得从简历中挑选一个名字变得极其困难。