本帖最后由 xiaodage 于 2009-10-07 14:05:29 编辑

解决方案 »

  1.   

    最简单的方法:
    $hidden_phone=$_POST['tel'];
    $hidden_phone[2]="*";
    $hidden_phone[3]="*";
    $hidden_phone[4]="*";
    $hidden_phone[5]="*";
    $hidden_phone[6]="*";
    $hidden_phone[8]="*";
    :)
    别忘了检测一下号码的长度,确认有效性。
      

  2.   

    <?
    echo preg_replace("/(?<=\d{2})\d{5}/i","*****","12345678963")." <br>";
    ?>
      

  3.   

    呵呵,3到8位原来是有6个数字的。看来我要回小学深造了<? 
    echo preg_replace("/(?<=\d{2})\d{6}/i","******","12345678963")." <br>"; 
    ?>
      

  4.   

    我觉得还是substr好一点  echo substr($_POST['tel'],3,6);
      

  5.   

    ....弄错了 substr_replace($_POST['tel'],'******',3,6);