У меня есть список адресов электронной почты, и я хотел бы найти простой PHP-код или регулярное выражение, чтобы изолировать расширение только, чтобы я мог иметь представление о том, откуда пришли участники. Например, если его электронная почта [email protected], я бы хотел выделить «.fr» Есть ли простой способ сделать это? СпасибоПолучить расширение с адреса электронной почты
ответ
Echo strrev(Explode(".", Strrev($email))[0]);
Strrev переворачивает назад так взрывается взрывается на последнюю точку.
Не тестировался, хотя
Edit: так как я и dimlucas была та же идея, которую я добавлю еще одно решение:
Echo preg_match("/\.(\w+)$/", $email)[1];
Предположим, что электронное письмо хранится в переменной с именем $email
, вы можете начать с изменения адреса электронной почты с помощью strrev
.
$reverse = strrev($email)
Вы можете использовать explode
, чтобы получить массив, который всегда будет содержать код страны по индексу 0:
$contents = explode('.', $reverse);
Вы, очевидно, нужно обратить строку, поскольку в код страны, скажем, ' .fr «будет сохранен как» .РФ «
$countryCode = strrev($contents[0]);
Обратите внимание, что вам не нужно отменить все, если вы абсолютно уверены, что не будет» «. символы в адресе электронной почты, отличном от указанного перед расширением. В этом случае вы можете просто взорвать строку и получить последнее значение
Самый элегантный способ это missuse Pathinfo.
$email = '[email protected]';
$extention = pathinfo($email, PATHINFO_EXTENSION);
gives back 'uk'
Привет, вы можете взять [тур] (http://www.stackoverflow.com/tour) снова или читать [Что вы пробовали] (http://mattgemmell.com/what- вы-попробовали /) один или два раза. – Naruto
try: echo end (explode ('.', '[email protected]')); –
@DharaParmar это не очень хорошо. Например, 'john.doe @ google.com'. – Andreas