隐藏前几位字符用星号*代替

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家

之前有一篇教程《将购买记录的用户名的后几位字符用星号*代替》讲解了如何对用户名进行一定的处理,但只能实现后几位的隐藏。
我在《购买记录增加和显示更多信息》里也讲到可以调用出更多的一些信息出来。然而在调用订单号的过程中,发现,因为订单号的前几位是以订单日期来命名规则,而如果这个显示完整的话,无疑会将订单日期给透露出来。但因为之前只讲解了隐藏后几位用星号代替,所以本次我讲解一下如何实现将前几位的字符也一并隐藏。
ecshop程序并无隐藏前几位的函数,我们需要增加一个。隐藏后几位的是truncate,我们定义一个新函数为truncateplus(大家可自由定制)。
找到includes/cls_template.php,在
case ‘truncate’:
$p = ‘sub_str(‘ . $p . “,$s[1])”;
break;
下面增加truncateplus,如
case ‘truncateplus’:
$p = ‘substr(‘ . $p . “,-7)”;
break;
这里的-7,代表是显示7位

然后在购物记录的模板文件中,以此代码{$note.order_sn|truncateplus}调用带星号的订单号,然后适当在前后添加星号即可实现。大家可以到泰摩网球上随便点击一个产品看购物记录查看效果。
淘宝的用户名是只显示最前一个字符和最后一个字符,中间以星号隐藏,有兴趣的朋友更可以利用总共介绍的两篇教程来实现此效果。