Detect ie10, <ie10 and other browsers in php
I have this code to determine if the user is using IE browser, however I would like to determine if it is 10 or a lower version, i.e. ten
<?php $u_agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match('/MSIE/i',$u_agent)){ //do something //HOW TO KNOW IS IE 10 // HOW TO KNOW BROWSER VERSION IS LESS THAN IE 10? }else{ //hope users would always use other browser than IE } ?> is that right?
<?php $u_agent = $_SERVER['HTTP_USER_AGENT']; //IE if(preg_match('/MSIE/i',$u_agent)){ //IE 10 if(preg_match('/msie 10/i', $_SERVER['HTTP_USER_AGENT'])) { // DO IE10. // < IE 10 }else{ // DO < IE10. } }else{ //OTHER BROWSERS //hope users would always use other browser than IE } ?> +4
2 answers
This may help you:
<?php //echo $_SERVER['HTTP_USER_AGENT']; if(preg_match('/(?i)msie [10]/',$_SERVER['HTTP_USER_AGENT'])) { // if IE = 10 echo "version is IE 10"; //rest of your code } else { // if not 10 echo "version is not 10"; //rest of your code } ?> Edit: Break into 3 cases:
<?php //echo $_SERVER['HTTP_USER_AGENT']; if(preg_match('/(?i)msie [1-9]/',$_SERVER['HTTP_USER_AGENT'])) { // if IE <= 10 echo "version is less than 10"; //rest of your code } else if(preg_match('/(?i)msie [10]/',$_SERVER['HTTP_USER_AGENT'])) { // if IE = 10 echo "version is IE 10"; //rest of your code } else { // if not 10 echo " other browser"; //rest of your code } ?> +13
You can easily check IE in the server variable HTTP_USER_AGENT .
if(preg_match('/msie [2-10]/i', $_SERVER['HTTP_USER_AGENT'])) { // This user is using IE2 - IE10. } else { // Using something else. } If you want to use specially targeted IE10, you can use:
if(preg_match('/msie 10/i', $_SERVER['HTTP_USER_AGENT'])) { // This user is using IE10. } else { // Using something else. } +3