Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Micilini Roll

Diminuição do codigo

Recommended Posts

pessoal eu tenho este comando que indentifica o navegador:

<?
session_start();
  $useragent = $_SERVER['HTTP_USER_AGENT'];
  $ponto = '.';
  if (preg_match('|MSIE ([0-9].[0-9]{1,2})|',$useragent,$matched)) {
    $browser_version=$matched[1];
    $browser = 'Internet Explorer';
$versao = substr($browser_version, 0, strpos($browser_version, $ponto));
$_SESSION['navegador'] = $browser;
$_SESSION['navegador'] = $browser;
if($versao < 9){
echo "joga outra tela";
}

  } elseif (preg_match( '|Opera/([0-9].[0-9]{1,2})|',$useragent,$matched)) {
    $browser_version=$matched[1];
    $browser = 'Opera';
$versao = substr($browser_version, 0, strpos($browser_version, $ponto));
if($versao < 9){
echo "joga outra tela";
}
} elseif(preg_match('|Navigator/([0-9\.]+)|',$useragent,$matched)) {
    $browser_version=$matched[1];
    $browser = 'Netscape';
$versao = substr($browser_version, 0, strpos($browser_version, $ponto));
if($versao < 9){
echo "joga outra tela";
}
  }
elseif(preg_match('|Maxthon/([0-9\.]+)|',$useragent,$matched)) {
    $browser_version=$matched[1];
    $browser = 'Maxthon';
$versao = substr($browser_version, 0, strpos($browser_version, $ponto));
if($versao < 4){
echo "joga outra tela";
}
  } elseif(preg_match('|Firefox/([0-9\.]+)|',$useragent,$matched)) {
    $browser_version=$matched[1];
    $browser = 'Firefox';
$versao = substr($browser_version, 0, strpos($browser_version, $ponto));
if($versao < 19){
echo "joga outra tela";
}
  
  } elseif(preg_match('|Chrome/([0-9\.]+)|',$useragent,$matched)) {
    $browser_version=$matched[1];
    $browser = 'Chrome';
$versao = substr($browser_version, 0, strpos($browser_version, $ponto));
if($versao < 25){
echo "joga outra tela";
}
  } elseif(preg_match('|Safari/([0-9\.]+)|',$useragent,$matched)) {
    $browser_version=$matched[1];
    $browser = 'Safari';
$versao = substr($browser_version, 0, strpos($browser_version, $ponto));
if($versao < 534){
echo "joga outra tela";
}
  }
   else {
    // browser not recognized!
    $browser_version = 0;
$versao = substr($browser_version, 0, strpos($browser_version, $ponto));
    $browser= 'other';
echo "joga outra tela";

  }       
  
$_SESSION['navegador'] = $browser;
$_SESSION['navegador_versao'] = $browser_version;
   
?>

 

 

(este codigo é o inicio de tudo! ele ira rodar antes de qualquer outro comando)

dai ele analisa qual o navegador que esta usando,a versao, e verifica se a versao do navegador é propria para meu site caso nao for ira mostrar uma mensagem JOGA OUTRA TELA,caso ele for ele cria uma seçao com o nome e a versao do navegador,dai o resto do codigo pega as 2 sessions e apartir dela uma mostra a versao e a outra mostra a imagem do icone do navegador

 

peço a ajuda de voces para tornar este codigo mais limpo e eficiente(eu sei que ele funciona de boa,mais sempre da pra melhorar!)

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte é este aqui:

 

<?php
$browser = $_SERVER['HTTP_USER_AGENT'];

echo "<pre>";
print_r($browser);

$er = '/(Navigator|Maxthon|Chrome|Firefox|MSIE|Opera|Safari)(\/| )?([0-9]{2}\.[0-9])/i';
preg_match($er, $browser, $ocorrencias);

echo "<pre>";
print_r($ocorrencias);
?>

 

 

somente no google chrome ele diz desta forma:

 

Array
(
    [0] => Chrome/25.0
    [1] => Chrome
    [2] => /
    [3] => 25.0
)

 

 

nos outros ele apareçe somente :

 

Array
(

)

 

 

e em todos ele me retorna a seguinte mensagem no topo:

 

chrome 

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22

--------------------------------------
opera

Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.12

-------------------------------
netscape

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6

-----------------------------------------
safari

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2

 

 

entende?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi, eu testei no FF 19, IE 10 e chrome 25.

 

 

$er = '/(firefox|MSIE|opera|safari|chrome)(\/| )?([0-9]{1,2}\.[0-9])/i';

 

rs agora aceita navegadores com a versão menor de 10.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.