WP_Http::is_ip_address( string $maybe_ip ): int|false

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.


Top ↑

Parameters

$maybe_ip string Required
A suspected IP address.

Top ↑

Return

int|false Upon success, '4' or '6' to represent a IPv4 or IPv6 address, false upon failure


Top ↑

Source

File: wp-includes/class-wp-http.php. View all references

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


Top ↑

Changelog

Changelog
Version Description
3.7.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.