3v4l.org

run code in 300+ PHP versions simultaneously
<?php $testArray = array( 'sub1.sub2.example.co.uk', 'sub1.example.com', 'example.com', 'sub1.sub2.sub3.example.co.uk', 'sub1.sub2.sub3.example.com', 'sub1.sub2.example.com' ); foreach($testArray as $k => $v) { echo $k." => ".extract_subdomains($v)."\n"; } function extract_domain($domain) { if(preg_match("/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i", $domain, $matches)) { return $matches['domain']; } else { return $domain; } } function extract_subdomains($domain) { $subdomains = $domain; $domain = extract_domain($subdomains); $subdomains = rtrim(strstr($subdomains, $domain, true), '.'); return $subdomains; }
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.10, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
0 => sub1.sub2 1 => sub1 2 => 3 => sub1.sub2.sub3 4 => sub1.sub2.sub3 5 => sub1.sub2
Output for 4.3.3 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 0 => Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 1 => Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 2 => Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 3 => Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 4 => Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 5 =>
Output for 4.3.0 - 4.3.2
Notice: Undefined index: domain in /in/oO89P on line 20 Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 0 => Notice: Undefined index: domain in /in/oO89P on line 20 Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 1 => Notice: Undefined index: domain in /in/oO89P on line 20 Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 2 => Notice: Undefined index: domain in /in/oO89P on line 20 Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 3 => Notice: Undefined index: domain in /in/oO89P on line 20 Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 4 => Notice: Undefined index: domain in /in/oO89P on line 20 Warning: Wrong parameter count for strstr() in /in/oO89P on line 31 5 =>

preferences:
220.33 ms | 403 KiB | 310 Q