$str="68.187.1.234";
$tmp=explode(".",trim($str));
$str="";
for($i=0;$i<4;$i++)
{
  $tmp[i]=substr("000".$tmp[i],-3);
  $str=$str.$tmp[i].".";
}
$str=substr($str,0,-1);
echo $str;
OK!!!

解决方案 »

  1.   

    对楼上的那样
    也用.来切割  split()
    然后对每一个数组来操作
    长度小于3的则用0来补齐
      

  2.   

    上面的代码有一点小错误,这个是正确的
    <?php
    $str="68.187.1.234";
    $tmp=explode(".",trim($str));
    $str="";
    for($i=0;$i<4;$i++)
    {
      $tmp[$i]=substr("000".$tmp[$i],-3);
      $str=$str.$tmp[$i].".";
    }
    $str=substr($str,0,-1);
    echo $str;
    ?>
      

  3.   

    $str="68.187.1.234";
    $arr=preg_replace("/^(\d)$/","00\\1",explode(".",$str));
    $arr=preg_replace("/^(\d{2})$/","0\\1",$arr);
    echo implode(".",$arr);
      

  4.   

    vivanboy(被迫早起的鸟儿)(★★★★★) :
    要的就是这个,谢谢各位,这就给分。