I’m trying to set up a conditional system which programatically detects both the browser (using the USER_AGENT string) and the platform (using PHP-Mobile-Detect). My current setup looks roughly like this:
<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]'
}
The obvious problem that occurs here, is the conflict between the 's. The echo under else, rather than ending at the end of my <style> tag, as I would want it to, ends at the first ' to appear in the code, which, as it were, is in the first USER_AGENT declaration.
How can I bypass this issue?
You missed a
'at the end of this line:Replace it with:
You are using single and double quotes nicely though. However, if you do need to use the same quotes, you can always escape them with a
\. For example, this would also work: