взимане на домейн от email адрес

C++ JAVA
Slavei
Турист
Турист
Posts: 528
Joined: Mon Aug 21, 2006 6:04 pm

Post by Slavei » Mon Apr 26, 2010 5:51 pm

idevbg wrote:За какво са му регулярни изрази в случая ... :) Най-удачният начин е

Code: Select all

$domain = end(explode("@", $email));
Един ред код никакви регулярни, никви лудници ...
Написах защо е нужен регулярен израз, но пак ще го напиша.

Регулярният израз е защото не знам от къде идват данните. Приемам, че мога да получа всичко. Следователно се подсигурявам, като проверявам дали полученото прилича на мейл адрес.

Ако има вид на мейл адрес, то тогава разделям стринга на две части със split(). Тази функция в случая е по-удобна от explode(). След това използвам list(). Също много удобна функция с която в случая връщам като резултат и двете условия които е поискал човека:
- променливата $username - връща името преди @
- променливата $domain - връща частта след @, т.е. домейна

Ако няма вид на мейл адрес не правя нищо (т.е или не изпълнявам останалата част от скрипта или вземам мерки да работи коректно). Тази проверка дава възможност да се изведе на екрана съобщение, че това не е мейл адрес (ако има нужда от такова съобщение)

В заключение за да те подразня мога да кажа, че твоя код не е 'най-удачния'.

Поздрави :)

Post Reply