2011-09-30 11 views
11

Sto provando a creare una variabile php con tre livelli di virgolette nidificate. Come faccio a fare un terzo livello intorno a "tackEvent", "downloads", "all" e "nofilter"? Le doppie virgolette che ho lì non funzionano.Nidificazione con tre livelli di quotazioni

$outputList .= "<a href=files/".$content_file ." onClick='_gaq.push 
(["_trackEvent", "downloads", "all", "nofilter"]);' >" . $content_name . 
"</a>"; 
+0

Per favore, puoi darci maggiori dettagli su questo? – Astha

risposta

24

Da here:

  • citazione esterno = "(Questo segna l'inizio e la fine della stringa)
  • citazione interno = \" (Escaped da non flag "inizio/fine della stringa")
  • terzo livello quote = '(citazione letterale)
  • quarta divisione quote = \' (citazione letterale che verrà generato come scappati preventivo esterno)
1

Dal manual:

Per specificare una singola citazione letterale, la fuga con una barra rovesciata (\). Per specificare una barra rovesciata letterale, raddoppiarla (\\).

Questo vale anche per le stringhe tra virgolette.

$str = "I am a string with a quote that says, \"I like quotes\""; 
0
$outputList .= <<<LINK 
<a href="files/$content_file" onClick="_gaq.push(['_trackEvent', 'downloads', 'all', 'nofilter']);">$content_name</a> 
LINK; 

questo sta usando heredoc syntax.

1
  • citazione esterno: "
  • citazione interno: '
  • terzo livello preventivo: \"
  • quarta divisione citazione: &quot;
+0

Quarta citazione è & q u o t; –

+1

Questo non risponde alla domanda. _perché credi che questa sia la risposta? _Come funziona? Dire semplicemente a qualcuno di cambiare il proprio codice senza alcun contesto o significato non li aiuta a capire cosa hanno fatto di sbagliato. – GrumpyCrouton