我使用这个小函数在需要时截断字符串:
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 – 如何将电子邮件本地部分截断为“abc…@gmail.com”的更多相关文章

  1. ios – React Native – NSNumber无法转换为NSString

    解决方法在你的fontWeight()函数中也许变成:

  2. NSTextView 研究1

    你建立一个Cocoa工程,然后在View里拖入一个NSTextView对象,并在ViewController类中添加textView变量。令人你需要找一个girl.jpg文件,也拖入工程。用到的代码全部列在后面,就不解释了。支持上面写法的一个文本支持支持类:这里的代码简化了NSTextView的文本和图片的插入。

  3. 使用键值编程(KVP)与Swift

    在使用Cocoa的Objective-C中,通过使用键值编程,可以在没有显式循环的情况下完成许多任务.例如,我可以使用一行代码找到数组中的最大数字:我如何用swift做同样的事情?数组似乎不支持valueForKeyPath方法.该数组实际上将响应valueForKeyPath函数–您只需要将数组转换为AnyObject,以便编译器不会抱怨.如下:甚至,对于一个对象的联合:如果上面的标签是标签的集合,则上面的标签将返回每个标签的text属性的所有字符串的数组.它也等同于以下内容:……

  4. android – 从spannable CharSequence中删除字符

    我在String中输入以下数据:“Hello#this#is#sample#text.”它为#字符之间的所有元素设置背景颜色.这是我到目前为止所得到的:设置背景颜色有效,但占位符字符#也有样式.如何在返回结果之前删除它们,因为CharSequence不存在方法ReplaceAll?我使用此函数来设置ListView中的TextView行的样式.添加此样式功能后,在模拟器中感觉有点慢.也许我应该以其他方式接近它,例如使用自定义TextView和自定义绘图功能?

  5. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  6. PHP字符串/文字处理问题

    可以说我有以下句子:但是我有一个限制,那句话只允许25个字符.这可能会让我有类似的东西:然而,这句话没有任何语法意义,所以我宁愿找到我们可以允许的最后一个词,同时保持25个字符限制.这会给我们这样的东西:这将低于25个字符限制,但它具有更多的语法意义.即单词没有被分解,我们在保持极限的同时拥有最多可理解单词.如何编写一个将接受字符串的函数和一个char限制(如25),如果字符串超出限制,则返回具有最大字数的字符串?

  7. php imagettftext字母间距

    有没有人有一个绘制带有指定字母间距的ttf字符串的函数?我找不到任何内置GD功能,所以我认为应该逐字逐句地添加一些恒定的宽度.也许有人已经有这样的功能:)PS.最好的字体是arial.ttf和电话:函数参数顺序符合标准的imagettftext参数顺序,最后一个参数是可选的$spacing参数.如果未设置或传递的值为0,则不设置字距调整/字母间距.

  8. 如何在phpmysql中使用htmlspecialchars来使用nl2br函数

    我有一个网站,其中输入来自textarea,nl2br用于将下一行转换为段落.当我尝试使用htmlspecialchars时,我得到了以下输出.在这里,我在textarea中写了三个’test’单词并保存在数据库中.我使用htmlspecialchars来防止html注入,但由于这个功能nl2br功能不起作用.你能说出如何解决这个问题吗?

  9. php – 如何添加/进入preg_replace模式

    我做了这个简单的函数来过滤数据.我添加了允许包含的符号但我不知道如何添加/符号您可以使用反斜杠来逃避它:或者使用其他字符作为分隔符:

  10. regex – 索引函数中的正则表达式

    我在文本文件中寻找“CCGTCAATTC(A|C)TTT(A|G)AGT”的出现.$text=’CCGTCAATTC(A|C)TTT(A|G)AGT’;if{格格($线);$POS=指数;}搜索工作正常,但我无法获得“文本”的位置.似乎索引不接受正则表达式作为子字符串.我怎样才能做到这一点.谢谢@–数组保存上次成功匹配的起始位置的偏移量.第一个元素是整个匹配模式的偏移量,后续元素是带括号的子模式的偏移量.所以,如果你知道有匹配,你可以得到它的偏移量为$–[0].

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部