Ipv6::split_v6_v4( string $ip ): string[]

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Splits an IPv6 address into the IPv6 and IPv4 representation parts

Description

RFC 4291 allows you to represent the last two parts of an IPv6 address using the standard IPv4 representation

Example: 0:0:0:0:0:0:13.1.68.3 0:0:0:0:0:FFFF:129.144.52.38

Parameters

$ipstringrequired
An IPv6 address

Return

string[] [0] contains the IPv6 represented part, and [1] the IPv4 represented part

Source

private static function split_v6_v4($ip) {
	if (strpos($ip, '.') !== false) {
		$pos       = strrpos($ip, ':');
		$ipv6_part = substr($ip, 0, $pos);
		$ipv4_part = substr($ip, $pos + 1);
		return [$ipv6_part, $ipv4_part];
	} else {
		return [$ip, ''];
	}
}

User Contributed Notes

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