Page 1 of 2

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

Posted: Sat Apr 24, 2010 1:24 am
by kWo_2
Как можеше да се вземе домейна от email адрес

Примерно:

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

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

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

Posted: Sat Apr 24, 2010 1:31 am
by MakeAWish

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

Posted: Sat Apr 24, 2010 10:41 am
by kulov
Ето спред мен, по-лесен начин

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 />";
?>

Posted: Sat Apr 24, 2010 2:46 pm
by kWo_2
И двете работят, но да попитам с кое е по-удачно да се прави
explode или preg_replace :)

Posted: Sat Apr 24, 2010 2:48 pm
by baso
kWo_2 wrote:И двете работят, но да попитам с кое е по-удачно да се прави
explode или preg_replace :)
Регулярния израз п***о е по добър! За това preg_replace ;)

Posted: Sat Apr 24, 2010 2:48 pm
by ExpressYourself
$email = "shte_cherpq@abv.bg";

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

echo $domain[1];

Posted: Sat Apr 24, 2010 2:55 pm
by kWo_2
аха, значи ще използвам регулярния израз :P

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

Posted: Sat Apr 24, 2010 2:55 pm
by marian
По-удобно и по-лесно е с регулярните изрази...
@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;;

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

Posted: Mon Apr 26, 2010 10:17 am
by Slavei
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;;

Posted: Mon Apr 26, 2010 10:31 am
by idevbg
За какво са му регулярни изрази в случая ... :) Най-удачният начин е

Code: Select all

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