有些客户留言时,留下了QQ或手机号,不想让竞争对手看到。显示时自动隐藏掉其中2位,代码应该怎么写?

解决方案 »

  1.   

    1.
    $a = '4434323123';
    $a{5} = "*";
    $a{6} = "*";
    echo $a;
    2.$a = '4434323123';
    $a = "**".substr($a,2);
    echo $a;
      

  2.   

    $str="15057840 4564564654 654897912313";
    echo  preg_replace("/(\d+)(\d{2})/","$1*",$str);
      

  3.   

    一般隐藏后几位。= =
    <?php
    $val = '13455677809';
    $new_val = substr($val, 0, -2) . '**';
    echo $new_val;
      

  4.   


    $Phone="15012345678";
    $qq="372647693";
    echo preg_replace("/\d{3}$/","***",$Phone);
    echo '<br>';
    echo preg_replace("/\d{3}$/","***",$qq);
      

  5.   

    可能我没说清楚,是处理整个留言内容里包含的QQ和手机信息,不是处理单独的QQ或手机,单独的QQ或手机已经做会隐藏处理了,但是还是有些客户,把邮箱、手机和QQ直接写在留言里面,应该怎么处理:留言内容例如:$str="网上看到贵公司的产品很感兴趣,发详细资料和代理协议或分销协议及价格,,QQ:123456782,急!!!!,当然还有其他内容,有时有好几段,可能有很长......" ;
      

  6.   

    手机号码可以正则替换。如果是qq的话,5位数字之上的可能都是有效的qq.
    这样替换就有问题了。用户输入  我的邮政编码是100876,结果你替换成 我的邮政编码是1008**,用户很生气,直接不用你的系统了。
      

  7.   

    再给你个邮箱的例子:<?php
    $str = "你好,.cn,请随时和我联系";
    $patten = "/(\w+)(\w){2}(@(\w+.)+)/i";
    echo preg_replace($patten,"$1**$3",$str);
    自己看着修改吧。
      

  8.   

    简单,把后面2位直接改成*(星号)就OK了,QQ:447150226         手机:13772930498