2016-05-30 4 views
0

У меня есть список адресов электронной почты, и я хотел бы найти простой PHP-код или регулярное выражение, чтобы изолировать расширение только, чтобы я мог иметь представление о том, откуда пришли участники. Например, если его электронная почта [email protected], я бы хотел выделить «.fr» Есть ли простой способ сделать это? СпасибоПолучить расширение с адреса электронной почты

+1

Привет, вы можете взять [тур] (http://www.stackoverflow.com/tour) снова или читать [Что вы пробовали] (http://mattgemmell.com/what- вы-попробовали /) один или два раза. – Naruto

+0

try: echo end (explode ('.', '[email protected]')); –

+1

@DharaParmar это не очень хорошо. Например, 'john.doe @ google.com'. – Andreas

ответ

2
Echo strrev(Explode(".", Strrev($email))[0]); 

Strrev переворачивает назад так взрывается взрывается на последнюю точку.
Не тестировался, хотя

Edit: так как я и dimlucas была та же идея, которую я добавлю еще одно решение:

Echo preg_match("/\.(\w+)$/", $email)[1]; 
+0

Отлично, я только что протестировал, я не знал функцию strrev. Очень полезно. Большое вам спасибо – sim100

+0

@ sim100 проблем нет! – Andreas

2

Предположим, что электронное письмо хранится в переменной с именем $email, вы можете начать с изменения адреса электронной почты с помощью strrev.

$reverse = strrev($email) 

Вы можете использовать explode, чтобы получить массив, который всегда будет содержать код страны по индексу 0:

$contents = explode('.', $reverse); 

Вы, очевидно, нужно обратить строку, поскольку в код страны, скажем, ' .fr «будет сохранен как» .РФ «

$countryCode = strrev($contents[0]); 

Обратите внимание, что вам не нужно отменить все, если вы абсолютно уверены, что не будет» «. символы в адресе электронной почты, отличном от указанного перед расширением. В этом случае вы можете просто взорвать строку и получить последнее значение

+1

Аналогично решению Андреаса. Я не знал функции strrev, и я рад это знать. Огромное спасибо. – sim100

+0

Вы получаете от меня повышенную защиту, так как у нас был тот же ответ. – Andreas

+0

@ Andreas I тоже поддержал слишком – dimlucas