Return to Snippet

Revision: 28303
at July 6, 2010 20:26 by nkm


Updated Code
function is_local($str)
{
    return (bool) preg_match('/^local\.|\.local$|^localhost$|^127\.0\.0\.1$|^::1$|^10\.|^169\.254\.|^172\.(?:1[6-9]|2[0-9]|[3[0-1]])\.|^192\.168\./', $str);
}

// Examples:

var_dump(is_local('snipplr.com')); // returns bool(false)
var_dump(is_local('local.snipplr.com')); // returns bool(true)
var_dump(is_local('snipplr.local')); // returns bool(true)
var_dump(is_local('localhost')); // returns bool(true)
var_dump(is_local('127.0.0.1')); // returns bool(true)
var_dump(is_local('::1')); // returns bool(true)
var_dump(is_local('10.0.1.35')); // returns bool(true)
var_dump(is_local('169.254.23.42')); // returns bool(true)
var_dump(is_local('172.24.1.3')); // returns bool(true)
var_dump(is_local('172.15.16.23')); // returns bool(false)
var_dump(is_local('172.42.23.16')); // returns bool(false)
var_dump(is_local('10.0.1.35')); // returns bool(true)
var_dump(is_local('192.168.1.4')); // returns bool(true)

Revision: 28302
at July 6, 2010 20:23 by nkm


Initial Code
function is_local($str)
{
    return (bool) preg_match('/^local\.|\.local$|^localhost$|^127\.0\.0\.1$|^::1$|^10\.|^169\.254\.|^172\.(?:1[6-9]|2[0-9]|[3[0-1]])\.|^192\.168\./', $str);
}

Initial URL


Initial Description
Checks if a given address is local. Useful for setting up the dev environment automatically.

NOTE: It's not intended for validation!

Initial Title
Is Local Address

Initial Tags


Initial Language
PHP