2017-09-16 58 views

回答

1

爲什麼使用這種簡單任務的正則表達式?使用strpos,結合substr或僅使用explode()@作爲第一個參數,如其他答案所指示的那樣。

$email_string = "[email protected]";  
$result = substr($email_string, strpos($email_string, "@") + 1);  
echo $result ; 
2

你有幾個錯誤。首先,你要告訴你想讓@符號在字符串中處於第一位。所以對於永遠不會匹配的電子郵件。然後,您需要設置一個捕獲組以實際獲取@之後的部分。所以它會是這樣的:

<?php 
$mail = "[email protected]"; 
preg_match('/@(.+)/', $mail, $output); 
print_r($output[1]); // gmail.com 

然而,這是這樣一個簡單的任務,你不應該使用正規表示法。 explode()會做:

<?php 
$mail = "[email protected]"; 
$mailArray = explode("@", $mail); 
print_r($mailArray[1]); // gmail.com 
+0

你能告訴我投票後投票的原因嗎? –

+0

我沒有?可能是一個錯誤。你刪除了嗎? – ishegg

+0

@SahilGulati取消刪除你的答案,我當然會刪除downvote,如果它是我的。 – ishegg

相關問題