欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ip- 这段正则表达式的含义?

程序员文章站 2022-05-18 20:02:10
...
ipphp正则表达式

整个函数是获取真实IP的,

 function real_ip(){    static $realip = NULL;    if ($realip !== NULL)    {        return $realip;    }    if (isset($_SERVER))    {        if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))        {            $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);            /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */            foreach ($arr AS $ip)            {                $ip = trim($ip);                if ($ip != 'unknown')                {                    $realip = $ip;                    break;                }            }        }        elseif (isset($_SERVER['HTTP_CLIENT_IP']))        {            $realip = $_SERVER['HTTP_CLIENT_IP'];        }        else        {            if (isset($_SERVER['REMOTE_ADDR']))            {                $realip = $_SERVER['REMOTE_ADDR'];            }            else            {                $realip = '0.0.0.0';            }        }    }    else    {        if (getenv('HTTP_X_FORWARDED_FOR'))        {            $realip = getenv('HTTP_X_FORWARDED_FOR');        }        elseif (getenv('HTTP_CLIENT_IP'))        {            $realip = getenv('HTTP_CLIENT_IP');        }        else        {            $realip = getenv('REMOTE_ADDR');        }    }    preg_match("/[\d\.]{7,15}/", $realip, $onlineip);    $realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';    return $realip;}

preg_match("/[\d.]{7,15}/", $realip, $onlineip); 这里的正则表达式有点不明白,
为什么数字或点要重复七到十五次?