W3cubDocs

/WordPress

WP_Http::is_ip_address( string $maybe_ip )

Determines if a specified string represents an IP address or not.

Description

This function also detects the type of the IP address, returning either ‘4’ or ‘6’ to represent a IPv4 and IPv6 address respectively. This does not verify if the IP is a valid IP, only that it appears to be an IP address.

Parameters

$maybe_ip

(string) (Required) A suspected IP address.

Return

(integer|bool) Upon success, '4' or '6' to represent a IPv4 or IPv6 address, false upon failure

Source

File: wp-includes/class-http.php

public static function is_ip_address( $maybe_ip ) {
		if ( preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $maybe_ip ) ) {
			return 4;
		}

		if ( false !== strpos( $maybe_ip, ':' ) && preg_match( '/^(((?=.*(::))(?!.*\3.+\3))\3?|([\dA-F]{1,4}(\3|:\b|$)|\2))(?4){5}((?4){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i', trim( $maybe_ip, ' []' ) ) ) {
			return 6;
		}

		return false;
	}

Changelog

Version Description
3.7.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_http/is_ip_address