+ if (preg_match('/Mozilla\/[^\(]+ \((IE [^;]+[^\)]*; )?((?:Mac|Win)[^;]+); ?(Win64|WOW64); ?Trident\/([^;\)]+);/i', $this->uastring, $regs)) {
+ $this->uadata['eng_version'] = $regs[4];
+ $this->uadata['os'] = $regs[2].' ('.$regs[3].')';
+ $this->uadata['lang'] = null;
+ }
+ elseif (preg_match('/Mozilla\/[^\(]+ \((IE [^;]+[^\)]*; )?((?:Mac|Win)[^;]+); ?Trident\/([^;\)]+);/i', $this->uastring, $regs)) {
+ $this->uadata['eng_version'] = $regs[3];
+ $this->uadata['os'] = $regs[2];
+ $this->uadata['lang'] = null;
+ }
+ elseif (preg_match('/Mozilla\/[^\(]+ \(compatible *; MSIE [^;]+[^\)]*; ?((?:Mac|Win)[^;]+); ?(Win64|WOW64)[^\)]*Trident\/([^;\)]+)[^\)]*\)/i', $this->uastring, $regs)) {
+ $this->uadata['eng_version'] = $regs[3];
+ $this->uadata['os'] = $regs[1].' ('.$regs[2].')';
+ $this->uadata['lang'] = null;
+ }
+ elseif (preg_match('/Mozilla\/[^\(]+ \(compatible *; MSIE [^;]+[^\)]*; ?((?:Mac|Win)[^;]+); ?[^\)]*Trident\/([^;\)]+)[^\)]*\)/i', $this->uastring, $regs)) {
+ $this->uadata['eng_version'] = $regs[2];
+ $this->uadata['os'] = $regs[1];
+ $this->uadata['lang'] = null;
+ }
+ elseif (preg_match('/Mozilla\/[^\(]+ \(compatible *; MSP?IE ([^;]+)[^\)]*; ?((?:Mac|Win)[^;]+); ?(Win64|WOW64)[^\)]*\)/i', $this->uastring, $regs)) {
+ $this->uadata['eng_version'] = (strpos($this->uastring,'MSPIE')!==false)?null:"ie".$regs[1];
+ $this->uadata['os'] = $regs[2].' ('.$regs[3].')';
+ $this->uadata['lang'] = null;
+ $this->mobile = (strpos($this->uastring,'MSPIE') !== false);
+ }
+ elseif (preg_match('/Mozilla\/[^\(]+ \(compatible *; MSP?IE ([^;]+)[^\)]*; ?((?:Mac|Win)[^;]+)[^\)]*\)/i', $this->uastring, $regs)) {
+ $this->uadata['eng_version'] = (strpos($this->uastring,'MSPIE')!==false)?null:"ie".$regs[1];