Nesting with three levels of quotations
I am trying to create a php variable that has three levels of nested quotes. How do I make a third level around "tackEvent"
, "downloads"
, "all"
, and "nofilter"
? The double quotes that I have there are not working.
$outputList .= "<a href=files/".$content_file ." onClick='_gaq.push
(["_trackEvent", "downloads", "all", "nofilter"])开发者_JS百科;' >" . $content_name .
"</a>";
From here:
- Outer quote = " (This marks the beginning and end of the string)
- Inner quote = \" (Escaped as to not flag "beginning/end of string")
- Third-tier quote = ' (Literal quote)
- Fourth-tier quote = \' (Literal quote that will be generated as an escaped outer quote)
- Outer quote:
"
- Inner quote:
'
- Third-tier quote:
\"
- Fourth-tier quote:
"
$outputList .= <<<LINK
<a href="files/$content_file" onClick="_gaq.push(['_trackEvent', 'downloads', 'all', 'nofilter']);">$content_name</a>
LINK;
This is using heredoc syntax.
From the manual:
To specify a literal single quote, escape it with a backslash (\). To specify a literal backslash, double it (\\).
This applies to strings in double quotes as well.
$str = "I am a string with a quote that says, \"I like quotes\"";
精彩评论