ホームページ  >  記事  >  バックエンド開発  >  ip- 这段正则表达式的含义?

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

WBOY
WBOYオリジナル
2016-06-02 11:33:45993ブラウズ

ipphp正则表达式

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

<code> 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;}</code>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。