我试图设置一个条件系统,它以编程方式检测浏览器(使用USER_AGENT
字符串)和平台(使用PHP-Mobile-Detect)。我目前的设置是大致是这样的:无法正确回显代码与PHP
<DOCTYPE html>
<html>
<head>
<?php
include("Mobile_Detect.php");
$detect = new Mobile_Detect();
?>
<?php if($detect->isiPad()) {
echo '<link rel="stylesheet" href="/style/iPad.css" type="text/css">';
}
else
{
echo '<meta charset="UTF-8">
<link rel="stylesheet" href="/style.css" type="text/css">;
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false)
{
echo '<link rel="stylesheet" href="../style/splash-webkit.css" type="text/css">';
}
//and so on for other browsers
[etc]'
}
出现在这里最明显的问题,就是'
S之间的冲突。根据我的意愿,在else
之下的echo
而不是在我的<style>
标记的末尾结束,而在第一个'
结束时出现在代码中,该代码原来在第一个USER_AGENT
声明中。 我怎样才能绕过这个问题?
<link rel="stylesheet" href="/style.css" type="text/css">;
将其替换为:
<link rel="stylesheet" href="/style.css" type="text/css">';
使用的是单引号和双引号很好,虽然
反斜线招工作就像一个魅力。谢谢! – Jules