2012-10-30 77 views
0

我現在正在使用正則表達式的問題。 我想要做的是通過迭代的每一行,它檢查這種模式:姓氏,名字 如果它找到了名稱,那麼它將採用第一個名字的第一個字母,第一個字母姓氏的六個字母並將其形成爲電子郵件。正則表達式與名稱和電子郵件

我有以下幾點:

$checklast = "[A-z],"; 
$checkfirst = "[A-z]"; 
if (ereg($checklast, $parts[1])||ereg($checkfirst, $parts[2])){ 
    $first = preg_replace($checkfirst, $checkfirst{1,1}, $parts[2]); 
    print "<a href='mailto:[email protected];'> $parts[$i] </a>"; 
} 

這一個顯然打破了代碼。但是我最初試圖找到名字的第一個字母,然後在那之後是姓氏的前六個字母,然後是@ email.com。這不太好。我不確定此時該做什麼。

任何幫助,非常感謝。

回答

2

怎麼是這樣的:

$name = 'Smith, John'; 
$email = preg_replace('/([a-z]{1,6})[a-z]*?,[\\s]([a-z])[a-z]*/i', 
         '\\2.\\[email protected]', $name); 

echo $email; // [email protected] 

乾杯

+0

謝謝,這個解決方案的工作! – Nina

相關問題