JSW189
Estoy tratando de crear una variable php que tenga tres niveles de comillas anidadas. ¿Cómo hago un tercer nivel alrededor? "tackEvent"
, "downloads"
, "all"
y "nofilter"
? Las comillas dobles que tengo allí no funcionan.
$outputList .= "<a href=files/".$content_file ." onClick='_gaq.push
(["_trackEvent", "downloads", "all", "nofilter"]);' >" . $content_name .
"</a>";
De aquí:
- Comillas externas = ” (Esto marca el principio y el final de la cadena)
- Comillas internas = \” (Escape para no marcar “comienzo/fin de cadena”)
- cotización de tercer nivel = “(cita literal)
- Comilla de cuarto nivel = \” (comilla literal que se generará como una comilla externa escapada)
-
A veces es más cómodo de usar
'
en el segundo nivel, por lo que solo necesita comenzar a escapar en el tercer nivel. Es decir, cambie “interior” y “tercer nivel”.– El fabricante de herramientas Steve
15 de julio de 2020 a las 19:38
Joaquim Neto
- cita exterior:
"
- Cita interna:
'
- Cotización de tercer nivel:
\"
- Cotización de cuarto nivel:
"
-
La cuarta cita es & quot;
– Joaquín Neto
7 junio 2017 a las 20:27
-
Esto no responde la pregunta. por qué crees que esta es la respuesta? cómo ¿Funciona? Simplemente decirle a alguien que cambie su código sin ningún contexto o significado no les ayuda a aprender lo que hicieron mal.
– Crutón Gruñón
07/06/2017 a las 20:33
$outputList .= <<<LINK
<a href="https://stackoverflow.com/questions/7614784/files/$content_file" onClick="_gaq.push(['_trackEvent', 'downloads', 'all', 'nofilter']);">$content_name</a>
LINK;
esto es usar sintaxis heredoc.
jeff lamberto
Desde el manual:
Para especificar una comilla simple literal, escápela con una barra invertida (\). Para especificar una barra invertida literal, duplíquela (\\).
Esto también se aplica a las cadenas entre comillas dobles.
$str = "I am a string with a quote that says, \"I like quotes\"";
¿Puede por favor darnos más detalles sobre esto?
– Asta
30 de septiembre de 2011 a las 19:01