Foros del Web » Programando para Internet » PHP »

Problema con comillas simples...

Estas en el tema de Problema con comillas simples... en el foro de PHP en Foros del Web. Saludos... Parte de un pequeño script (datepicker de Jquery) contiene lo siguiente para llamar un pop-up: Código PHP: < a href = "javascript : void(0)"  onclick = ...
  #1 (permalink)  
Antiguo 08/04/2010, 03:29
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
Problema con comillas simples...

Saludos...

Parte de un pequeño script (datepicker de Jquery) contiene lo siguiente para llamar un pop-up:

Código PHP:
<a href="javascript: void(0)" onclick="popUpCalendar(this, document.getElementById('campo'), 'yyyy-mm-dd')" class="datepicker"
Fuera de tags de php esto trabaja perfectamente, sin embargo, debo incluírlo en un TAG de PHP a través de un "echo":

Código PHP:
echo '(....) <a href="javascript: void(0)" onclick="popUpCalendar(this, document.getElementById[B]('[/B]campo[B]')[/B], [B]'[/B]yyyy-mm-dd[B]'[/B])" class="datepicker">s....)' 
Y es aaquí donde las comillas simples que he dejado en negrita me dan problemas. SI este JS se introduce en un 'echo' de PHP, cómo debería de trabajar las comillas simples?...

Gracias
__________________
Andrew :P
  #2 (permalink)  
Antiguo 08/04/2010, 03:49
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Problema con comillas simples...

tienes que escapar las comillas simples desde php que conflijen con las comillas del string de php. es decir:
Código:
 '\'comillas\'';
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 08/04/2010, 04:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con comillas simples...

Hola:

Si es cosa de entrecomillado en php, yo suelo aconsejar usar la sintaxis heredoc:

echo <<< texto
"Hola 'pirola'..."

texto;

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 08/04/2010, 04:07
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: Problema con comillas simples...

Lo siento... No entiendo... He escapado las comillas simples pero me sigue dando problemas... Cómo puedo hacerlo de acuerdo al consejo de caricatos?
__________________
Andrew :P
  #5 (permalink)  
Antiguo 08/04/2010, 04:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con comillas simples...

Hola:

Simplemente cambia el contenido...

Código:
echo <<< texto
<a href="javascript: void(0)" onclick="popUpCalendar(this, document.getElementById('campo'), 'yyyy-mm-dd')" class="datepicker">  

texto;
La palabra texto sería una etiqueta (no hablo de los tags html)

heredoc, viene del inglés aquí doc (aquí documento), y se escriben las cosas tal cual hasta alcanzar esa etiqueta...

Las variables se ponen igual que con los ecos normales, pero no existe la concatenación...

De todos modos, al ser un tema php, voy a mover el mensaje.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 08/04/2010, 06:45
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: Problema con comillas simples...

Gracias... Habéis sido de gran ayuda!
__________________
Andrew :P

Etiquetas: comillas, simples
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:26.