我正在为Concret 5做一个主题,我不确定混凝土5中我的问题是否已经有类似的解决方案。
我想将用户的浏览器名称附加到我的<body>
,以便我可以稍后通过css定位它们
示例PHP如何将名称呈现给我的body标签。
<body class="ie5" >
or
<body class="safari" >
我将稍后使用的CSS示例
body.ie div#id { background: #ccc }
body.safari div#id { font-size: 15px; }
答案 0 :(得分:3)
根据您之前未提出的其他要求
获取所有浏览器的名称
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$ub = '';
if(preg_match('/MSIE/i',$u_agent))
{
$ub = "Internet Explorer";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
$ub = "Mozilla Firefox";
}
elseif(preg_match('/Safari/i',$u_agent))
{
$ub = "Apple Safari";
}
elseif(preg_match('/Chrome/i',$u_agent))
{
$ub = "Google Chrome";
}
elseif(preg_match('/Flock/i',$u_agent))
{
$ub = "Flock";
}
elseif(preg_match('/Opera/i',$u_agent))
{
$ub = "Opera";
}
elseif(preg_match('/Netscape/i',$u_agent))
{
$ub = "Netscape";
}
现在您可以显示浏览器名称
<body class="'. $ub ." >
答案 1 :(得分:1)
$u_agent = $_SERVER['HTTP_USER_AGENT']; // get the current browser name
// for safari
if(preg_match('/Safari/i',$u_agent)) // then check if the browser is safari
{
echo "body.safari div#id { font-size: 15px; }"; // then apply your class here
}
// for IE
if(preg_match('/MSIE/i',$u_agent))
{
echo "body.ie div#id { background: #ccc }";
}
答案 2 :(得分:0)
您可以使用变量$_SERVER['HTTP_USER_AGENT']
:
http://php.net/manual/en/reserved.variables.server.php
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
Firefox的示例值为:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3
答案 3 :(得分:0)
<?php $agent=$_SERVER['HTTP_USER_AGENT']?>
然后在HTML中:
<html>
<head>
</head>
<body class="<?php echo $agent?>">
</body>
</html>
然后只为每个浏览器名称/类型设置CSS