- preg_match_all: documentation ( source)
- current: documentation ( source)
<?php
$androidApp = 'ZooskAndroid';
$iphoneApp = 'ZooskiPhone';
$ipadApp = 'ZooskiPad';
$ua = 'ZooskAndroid/133 (Linux; U; Android 4.4.2; en-US; HTC One; Build/KOT49H.H1)';
$regExp = '/^(?:(?:' . $androidApp . ')|(?:' . $iphoneApp . ')|(?:' . $ipadApp . '))\/([0-9.]{1,6}),/';
preg_match_all($regExp, $ua, $matches);
if (is_array($matches) && count($matches) === 2) {
$version = $matches[1];
}
if (empty($version)) {
// ZooskAndroid/133 (Linux; U; Android 4.4.2; en-US; HTC One; Build/KOT49H.H1)
$regExp = '/^(?:(?:' . $androidApp . '))\/([0-9.]{1,6}) \(/';
preg_match_all($regExp, $ua, $matches);
$version = $matches[1];
}
if (is_array($version) && count($version) === 1) {
$version = is_array(current($version)) ? null : current($version);
} else {
$version = null;
}
echo $version;