2011-09-30 18 views
11

Estoy tratando de crear una variable php que tenga tres niveles de comillas anidadas. ¿Cómo hago un tercer nivel alrededor de "tackEvent", "downloads", "all" y "nofilter"? Las comillas dobles que tengo allí no están funcionando.Anidando con tres niveles de citas

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

¿nos podría dar más detalles sobre esto? – Astha

Respuesta

24

De here:

  • cotización exterior = "(Esto marca el comienzo y el final de la cadena)
  • cotización interior = \" (escapó a no bandera de "inicio/final de la cadena")
  • tercer nivel quote = '(cita literal)
  • cuarta división quote = \' (cita literal que se generará como un escaparon cotización externa)
1

Desde el manual:

Para especificar una comilla simple literal, escape con una barra invertida (\). Para , especifique una barra invertida literal, duplítela (\\).

Esto se aplica a las cadenas entre comillas dobles también.

$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; 

Se trata de utilizar heredoc syntax.

1
  • cita externo: "
  • presupuesto interno: '
  • tercer nivel cita: \"
  • cuarta división cita: &quot;
+0

La cuarta cita es & q u o t; –

+1

Esto no responde la pregunta. ¿Por qué crees que esta es la respuesta? _¿como funciona? Simplemente decirle a alguien que cambie su código sin ningún contexto o significado no los ayuda a aprender lo que hicieron mal. – GrumpyCrouton

Cuestiones relacionadas