我尝试使用php rtrim()函数来检索电子邮件地址中的用户名,但我遇到了以下问题:
案例1:
$email = 'merkerxu37@stackoverflow.com';
echo rtrim($email, '@stackoverflow.com');
我得到了输出:
merkerxu37
案例2:
$email = 'merkerxu37@37signals.com';
echo rtrim($email, '@37signals.com');
我得到了输出:
merkerxu
有人可以告诉我为什么案例2中缺少“37”吗?
答案 0 :(得分:1)
这是因为您输入了第二个参数'@37signals.com'
,将3
,7
或37
视为要修剪的字符。
答案 1 :(得分:1)
trim
(及其单面变体)会删除要删除的字符列表。由于您提供的列表中有3
和7
功能,因此会对其进行修剪。
为什么不这样做?
echo explode("@",$email,2)[0];
// If you don't have PHP 5.4:
// $parts = explode("@",$email,2); echo $parts[0];