Filtrar browsers com PHP

Postado por: Pedro Rogério em

Se algum dia, por algum motivo você precisar utilizar uma folha de estilos específica para cada browser, mas não quer fazer isso com JavaScript e estiver utilizando PHP em seu servidor, abaixo segue um código muito simples para isso, basta colocar dentro das tags <head></head> do seu site que ele detectará o navegador e fará uso do CSS necessário:

<?php
	if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') ){
		if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape') ){
			echo "<link rel='stylesheet' type='text/css' href='netscape.css' />";
		}
		else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') ){
			echo "<link rel='stylesheet' type='text/css' href='firefox.css' />";
		}
		else{
			echo "<link rel='stylesheet' type='text/css' href='mozilla.css' />";
		}
	}
	else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ){
		echo "<link rel='stylesheet' type='text/css' href='ie.css' />";
	}
	else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') ){
		echo "<link rel='stylesheet' type='text/css' href='safari.css' />";
	}
	else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') === true){
		echo "<link rel='stylesheet' type='text/css' href='opera.css' />";
	}
	else{
		echo "<link rel='stylesheet' type='text/css' href='outros-browsers.css' />";
	}
?>

Esse código foi baseado no post de Harry Roberts.

Posts Relacionados

Confira também outros artigos interessantes postados aqui no blog.

Se tiver um tempo, leiam também:

Gostou desse post?

Assine o nosso Feed RSS, siga-nos no Twitter, ou simplesmente nos recomende a seus amigos!

Sobre Pedro Rogério

Pedro Rogério é desenvolvedor web por paixão, não saberia fazer melhor outra coisa. Além de escrever para o CSS no Lanche também escreve para o Pinceladas da Web, blog com assuntos gerais sobre desenvolvimento web.

7 Responses to “Filtrar browsers com PHP”

  1. LeoCaseiro disse:

    Na minha opinião, é mais vantagem utilizarmos uma linguagem Server Side.
    Não vejo vantagem em utilizar o desempenho do servidor para mudar o CSS. Acho até que é desvantagem!

    Eu uso um “IF IE” da vida e sempre deu certo!

    Mas para outros recursos, pode ser útil!
    Abs

  2. Eu já tenho outra opinião sobre o uso de css diferentes para cada navegadores…

    Se chama css condicional usando apenas IF que o colega acima comentou… isso se chama CSS condicional… segue um link de explicação!

    http://maujor.com/tutorial/condcom.php

  3. @Leonardo,

    IF IE é somente para o Internet Explorer, essa forma que eu mostrei seria uma forma de você fazer um CSS condicional para qualquer browser através de uma linguagem server-side.

  4. LeoCaseiro disse:

    Sim, só vale para o IE. Mas infelizmente ele é o único que precisa disso. É o único que não atende ao W3C.

    E mesmo assim, eu ainda escolheria o JavaScript. Pelo menos nesse caso.

    Costumo identificar o USER AGENT com linguagens Server Side, apenas para exibir algum CSS, ou até eliminar JavaScripts para GADGETS, como um Mobile ou algo do tipo.

    Abs

  5. Identificação do UA do lado do servidor tem seus usos e o código do Harry Roberts é curto e de fácil customização, obrigado pela dica!

  6. Adilson disse:

    Ineficaz validar com PHP.
    Para isso existe Javascript.

    Como nosso amigo disse acima, o unico que precisa de IF é o IE.

    Abs

  7. Peter disse:

    Perfeito, quem fala q é ineficaz não sabe o que diz.

Leave a Reply