我想知道如何从@hotmail.com
删除example@hotmail.com
?
由于
答案 0 :(得分:2)
function remove_domain($email) {
$v = explode("@", $email);
return $v[0];
}
答案 1 :(得分:2)
这将从任何电子邮件中删除任何域名:
// Sample email address for testing:
$email = "example@anything.tld";
// Now let's remove @anything.tld:
$email = preg_replace('/@.+/','',$email);
// And then echo results out to see what we got:
echo $email;
所以大多数重要的是这一行,关注它:
echo preg_replace('/@.+/', '', 'example@deleteme.com');
它使用正则表达式匹配删除任何以@
开头,后跟至少一个任意字符的内容。之后它打印出结果。所以所有这些都可以通过单行完成,并且每个域都得到同等的支持(扔掉)。
之后,$email
只包含"example"
并删除了@anything.tld
。
这种方式$email
可以是"my.mail.box@hotmail.com"
,"somebody@mail.ex-ample.com"
或任何你能想象到的。
您可以在此处详细了解正则表达式:function.preg-replace.php,此处:pcre.org或此处:wikipedia/Regular_expression。
$domain = 'gmail.com';
$email = str_replace('@'.$domain, '', $email);
PHP手册页:function.str-replace.php
答案 2 :(得分:1)
您可以使用str_replace
,
$email = 'example@hotmail.com';
echo str_replace('@hotmail.com', '', $email); // example
答案 3 :(得分:1)
我不确定这是否是执行此操作的最佳方式,但您可以尝试以下方式:
$string = "email@hotmail.com";
$new_string = explode("@", $string);
print $new_string[0] // will print 'email'
希望它有所帮助!
答案 4 :(得分:1)
或仅使用strstr(string $haystack ,mixed $needle [,bool $before_needle = false ]), 那么你不需要检查特定的域名:
$email = 'blabla@hotmail.com';
echo strstr($email, '@', true);