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

C++ JAVA
kWo_2
Потребител
Потребител
Posts: 1117
Joined: Thu Jan 07, 2010 4:53 pm
Contact:

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

Post by kWo_2 » Sat Apr 24, 2010 1:24 am

Как можеше да се вземе домейна от email адрес

Примерно:

pari@gmail.com - > gmail.com
problemi@abv.bg - > abv.bg

и съответно отделно, ако може да изведа от

pari@gmail.com - > pari
problemi@abv.bg - > problemi

MakeAWish
Турист
Турист
Posts: 290
Joined: Mon Jun 22, 2009 5:52 pm
Answers: 76

Post by MakeAWish » Sat Apr 24, 2010 1:31 am

Code: Select all

<?php
$string = 'pari@gmail.com';
$e1 = explode&#40;'@', $string&#41;;
$a1 = $e1&#91;0&#93;;
$a2 = $e1&#91;1&#93;;

echo '$a1 -> ' . $a1 . '<br />$a2 -> ' . $a2;
?>
Резултат:
$a1 -> pari
$a2 -> gmail.com

User avatar
kulov
Потребител
Потребител
Posts: 1156
Joined: Sat Apr 03, 2010 1:08 pm
Answers: 133

Post by kulov » Sat Apr 24, 2010 10:41 am

Ето спред мен, по-лесен начин

Code: Select all

<?
$email="pari@gmail.com";

$domain=preg_replace&#40;"/&#40;.*?&#41;\@/i", "", $email&#41;;
$email=preg_replace&#40;"/\@&#40;.*&#41;/i", "", $email&#41;;

echo "Домеин - $domain<br />";
echo "Имейл - $email<br />";
?>

kWo_2
Потребител
Потребител
Posts: 1117
Joined: Thu Jan 07, 2010 4:53 pm
Contact:

Post by kWo_2 » Sat Apr 24, 2010 2:46 pm

И двете работят, но да попитам с кое е по-удачно да се прави
explode или preg_replace :)

baso
Потребител
Потребител
Posts: 789
Joined: Thu Apr 01, 2010 5:54 pm
Answers: 72
Location: Пазарджик
Contact:

Post by baso » Sat Apr 24, 2010 2:48 pm

kWo_2 wrote:И двете работят, но да попитам с кое е по-удачно да се прави
explode или preg_replace :)
Регулярния израз п***о е по добър! За това preg_replace ;)

ExpressYourself
Потребител
Потребител
Posts: 736
Joined: Sat Feb 13, 2010 4:39 pm
Answers: 38

Post by ExpressYourself » Sat Apr 24, 2010 2:48 pm

$email = "shte_cherpq@abv.bg";

$domain = explode("@", $email);

echo $domain[1];

kWo_2
Потребител
Потребител
Posts: 1117
Joined: Thu Jan 07, 2010 4:53 pm
Contact:

Post by kWo_2 » Sat Apr 24, 2010 2:55 pm

аха, значи ще използвам регулярния израз :P

Благодаря на всички

User avatar
marian
Турист
Турист
Posts: 568
Joined: Fri Mar 14, 2008 1:13 pm
Answers: 151
Location: България

Post by marian » Sat Apr 24, 2010 2:55 pm

По-удобно и по-лесно е с регулярните изрази...
@kulov можеш да ползваш един израз:

Code: Select all

$email = "problemi@abv.bg";
preg_match&#40;"/&#40;.*&#41;\@&#40;.*&#41;/",$email,$tu_parts&#41;;
echo "user&#58; ".$tu_parts&#91;1&#93;;
echo " domain&#58; ".$tu_parts&#91;2&#93;;

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

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

Post by Slavei » Mon Apr 26, 2010 10:17 am

kWo_2 wrote:Как можеше да се вземе домейна от email адрес

Примерно:

pari@gmail.com - > gmail.com
problemi@abv.bg - > abv.bg

и съответно отделно, ако може да изведа от

pari@gmail.com - > pari
problemi@abv.bg - > problemi
ако данните ти идват от формуляр или от някъде от където не си сигурен дали ще получиш точно това което очакваш (тоест мейл адрес):

1. с регулярен израз проверяваш дали е мейл.
2. ако е мейл:

Code: Select all

$email = 'username@domain.com';
list&#40;$username,$domain&#41; = split&#40;"@",$email&#41;;

User avatar
idevbg
Турист
Турист
Posts: 589
Joined: Sun Mar 21, 2010 9:30 pm
Answers: 18

Post by idevbg » Mon Apr 26, 2010 10:31 am

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

Code: Select all

$domain = end&#40;explode&#40;"@", $email&#41;&#41;;
Един ред код никакви регулярни, никви лудници ...

Post Reply