Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2008, 16:23
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
COMO: usar las comillas bien

Bien, como sabemos hay 2 tipos de comillas básicas para cualquier (o la mayoría) de los lenguajes de programación, las simples y sencillas ' y las dobles ".

Como también debemos saber, estas comillas sirven obligatoriamente para encerrar cadenas de texto para ser utilizadas, no es tan difícil... verdad?

Ahora, ¿que pasa si rodeamos con comillas una variable?

Dependiendo del lenguaje, en este caso PHP, las sencillas NO evalúan el contenido en la cadena... pero las dobles SI que lo hacen.

Si solo voy a imprimir UNA SOLA variable, ¿necesito ponerle comillas dobles?

NOOOOOOO... esto no esta mal, pero tampoco esta BIEN... ya que siendo una sola variable NO es necesario rodearle con comillas dobles (de evaluación)

Entonces, si yo he oído que debes encapsular las variables en las cadenas ¿por que es esto?


..bueno, ese también es otro problema sencillo... aunque pocas veces dominado.

Si tenemos un objeto, o arreglo... y necesitamos incluirlo en una cadena para que se evalúe junto a demás texto NECESITA ser encapsulado en caracteres de llave...

ejs.

Código PHP:
print "Cadena evaluada {$de['ejemplo']} ...OK";

print 
"Cadena evaluada ".$de['ejemplo']." ...OK";

print 
'Cadena evaluada ' $de["ejemplo"] . '...OK';

print 
sprintf("Cadena evaluada %s ...OK"$de['ejemplo']); 
TODOS estos ejemplos (e incluso mas) son totalmente validos e idénticos!!!


Gracias, y ahora... si necesito imprimir comillas dentro de las comillas ¿que debo hacer?


Primero, relájate y decide que tipo de comillas son MAS importantes para el problema en cuestión... y si es que necesitas realmente evaluar alguna variable dentro de la cadena.

Una ves hecho esto todo se tornara mas fácil, ej.

"Necesito imprimir un cadena de texto, dentro de un alert() en el evento onclick de un enlace <a>"


Ahora, elegiremos (por ejemplo) las comillas sencillas para rodear TODA la cadena... ya que son las que menos usaremos dentro de la cadena (recordando que para el HTML... DEBEMOS usar comillas dobles para los atributos)

Entonces, quedaria algo asi....

Código PHP:
print '<a href="#" onclick="alert(\'' add_slashes($cadena) . '\')">Enlace</a>';

// ahora usemos comillas dobles...
print "<a href=\"#\" onclick=\"alert('{$cadenas->test}')\">Enlace</a>";

// sprintf()
print sprintf('<a href="#" onclick="alert(\'%s\')">Enlace</a>'add_slashes($cadena)); 
También, recordando que debemos escapar las comillas y caracteres de control, como la diagonal invertida cuando usamos caracteres especiales en la cadena a utilizar...


suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 26/10/2009 a las 09:31