2016-12-22 60 views
1

我需要從文件(簡歷)中獲取所有人的姓名(David,Jonathan,Ferdinand)。我能夠通過正則表達式獲得電子郵件ID和電話如何找到給定字符串laravel中的人的名字?

$email = '/[a-z0-9_\-\+][email protected][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; 
} 

但不幸的是,它像約翰,馬修,費爾南德斯等名稱返回值是否有實現這一目標的任何特別的方式?因爲他們在自己的格式非常規範,可以很容易挑出

回答

0

電話和電子郵件很容易找到。另一方面,電話號碼和電子郵件不會使用嚴格的格式。

你可以嘗試使用他們的電子郵件地址查找的姓名。大多數人出於商業原因使用他們的名字/姓氏作爲他們的電子郵件地址。許多公司在某些情況下使用第一個姓氏或第一個和最後一個首字母。

所以,如果你正在尋找約翰史密斯和電子郵件是[email protected]你可以使用PHP尋找smith加上前一個字,直到下一個空格字符或行結束/開始。

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

這假設首字母姓氏的電子郵件格式。你需要用正則表達式來測試完整的第一個完整的最後一個姓,第一個首字母等,並希望他們中的一個能給你一個名字!

+0

好的在這種情況下。如果約翰史密斯使用類似[email protected]的電子郵件呢? –

+0

@NaveenKumar那麼你有點不幸。正如我在答案中所指出的,除了First,Last或Last,First之外,沒有一套標準來寫你的名字。這使得從簡歷中選出一個名字非常困難。 –

相關問題