Velvet Star Monitor

Standout celebrity highlights with iconic style.

news

Nesting with three levels of quotations

Writer Sebastian Wright

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"]);' >" . $content_name .
"</a>";
1

4 Answers

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)
1
  • Outer quote: "
  • Inner quote: '
  • Third-tier quote: \"
  • Fourth-tier quote: &quot;
2
$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\"";

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy