用PHP无法正确回显代码

Jul*_*les 0 php conditional user-agent nested

我正在尝试建立一个条件系统,以编程方式检测浏览器(使用USER_AGENT字符串)和平台(使用PHP-Mobile-Detect).我目前的设置大致如下:

<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]'
    }
Run Code Online (Sandbox Code Playgroud)

这里出现的明显问题是's 之间的冲突.正如我希望的那样,echounder else,而不是在我的<style>标签的末尾结束,首先'出现在代码中,因为它是在第一个USER_AGENT声明中.我该如何绕过这个问题?

Flu*_*feh 5

你错过了'这一行的结尾:

<link rel="stylesheet" href="/style.css" type="text/css">;
Run Code Online (Sandbox Code Playgroud)

替换为:

<link rel="stylesheet" href="/style.css" type="text/css">';
Run Code Online (Sandbox Code Playgroud)

你很好地使用单引号和双引号.但是,如果您确实需要使用相同的引号,则始终可以使用\.例如,这也可以:

echo '<meta charset=\'UTF-8\'>';
Run Code Online (Sandbox Code Playgroud)