php – 如何将电子邮件本地部分截断为“abc…@gmail.com”

前端之家收集整理的这篇文章主要介绍了php – 如何将电子邮件本地部分截断为“abc…@gmail.com”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用这个小函数在需要时截断字符串:
function truncate_text($text,$nbrChar = 55,$append='...') {
    if (strlen($text) > $nbrChar) {
        $text = substr($text,$nbrChar);
        $text .= $append;
    } 
    return $text;
}

我想帮助创建一个新功能来截断电子邮件本地部分,类似于Google网上论坛中的内容.

abc...@gmail.com

这对使用Facebook代理电子邮件用户特别有用.

apps+2189712.12457.7b00f3c9e8bfabbeea8f73@proxymail.facebook.com

我想这个新函数会使用正则表达式找到@然后将local-part截断为一定数量的字符以生成类似的东西

apps+21...@proxymail.facebook.com

有任何建议如何解决这个问题?

谢谢!

函数将截断电子邮件的第一部分(如果找到@),如果找不到@则截断其他字符串.
function truncate_text($text,$append='...') {
  if(strpos($text,'@') !== FALSE) {
    $elem = explode('@',$text);
    $elem[0] = substr($elem[0],$nbrChar) . $append;
    return $elem[0] . '@' . $elem[1];
  }
  if (strlen($text) > $nbrChar) {
    $text = substr($text,$nbrChar);
    $text .= $append;
  } 
  return $text;
}

echo truncate_text('apps+2189712.12457.7b00f3c9e8bfabbeea8f73@proxymail.facebook.com',10);
// will output : apps+21897...@proxymail.facebook.com

echo truncate_text('apps+2189712.12457.7b00f3c9e8bfabbeea8f73proxymail.facebook.com',10);
// will output : apps+21897...

猜你在找的PHP相关文章