Foros del Web » Programando para Internet » PHP »

¿alguna forma para convertir $var="hola" en $var=\"hola\"... lo de las comillas

Estas en el tema de ¿alguna forma para convertir $var="hola" en $var=\"hola\"... lo de las comillas en el foro de PHP en Foros del Web. Editado Editado...
  #1 (permalink)  
Antiguo 29/05/2006, 09:15
 
Fecha de Ingreso: marzo-2006
Mensajes: 342
Antigüedad: 18 años, 1 mes
Puntos: 0
Editado Editado

Editado Editado

Última edición por Saludos; 30/06/2007 a las 10:07
  #2 (permalink)  
Antiguo 29/05/2006, 09:19
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Pero, ¿Cúal es el problema de poner $var="hola"?
(También puedes utilizar comillas simples)
  #3 (permalink)  
Antiguo 29/05/2006, 09:36
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Pues podrias utilizar addslashes().

Si pudieras comentarnos mas acerce de tu problema te lo agradeceria mucho.

Saludillos.
  #4 (permalink)  
Antiguo 29/05/2006, 10:39
 
Fecha de Ingreso: marzo-2006
Mensajes: 342
Antigüedad: 18 años, 1 mes
Puntos: 0
Editado Editado

Última edición por Saludos; 30/06/2007 a las 10:07
  #5 (permalink)  
Antiguo 29/05/2006, 11:23
 
Fecha de Ingreso: diciembre-2003
Mensajes: 204
Antigüedad: 20 años, 4 meses
Puntos: 2
de memoria tienes addlashes y striplashes (ya et digo, de memoria), ya lo han dicho mas arriba.

para guardar cadenas con entidades html, tambien tienes htmlentities y html_entity_decode
  #6 (permalink)  
Antiguo 29/05/2006, 13:03
 
Fecha de Ingreso: marzo-2006
Mensajes: 342
Antigüedad: 18 años, 1 mes
Puntos: 0
Editado Editado

Última edición por Saludos; 30/06/2007 a las 10:07
  #7 (permalink)  
Antiguo 29/05/2006, 13:06
 
Fecha de Ingreso: diciembre-2003
Mensajes: 204
Antigüedad: 20 años, 4 meses
Puntos: 2
string addslashes ( string cadena )


Devuelve una cadena con barras invertidas delante de los caracteres que necesitan escaparse en situaciones como consultas de bases de datos, etc. Los caracteres que se escapan son la comilla simple ('), comilla doble ("), barra invertida (\) y NUL (el byte NULL).

El ejemplo más habitual de utilización de la función addslashes() es la insersción de información en una base de datos. Por ejemplo, para insertar el nombre O'reilly en una base de datos, debe escaparse previamente. Para ello, la mayoría de bases de datos emplean el carácter \, por lo que el nombre quedaría como O\'reilly. Si la opción de configuración magic_quotes_sybase tiene un valor de on, entonces las comillas simples de tipo ' se escapan añadiendo otra comilla simple delante.

La directiva de PHP magic_quotes_gpc tiene un valor por defecto de on, por lo que de forma automática se llama a la función addslashes() en todos los datos que llegan a través de los métodos GET y POST y a través de las cookies. Por tanto, no es necesario emplear la función addslashes() en las cadenas que ya han sido escapadas mediante la directiva magic_quotes_gpc ya que si no, se harí un doble escape. La función get_magic_quotes_gpc() puede ser útil para comprobar el valor de esta directiva.
  #8 (permalink)  
Antiguo 29/05/2006, 13:19
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Para mostrar codigo HTML en una pagina (y que el navegador la interprete)con PHP tienes que hacer un ECHO con el codigo de la pagina.... y tienes que meterlo en una variable y ENMARCARLO con las barras "\"
Para nada se aplica la palabra "tienes", es solo una forma de hacer el trabajo... puedes trabajar directo con HTML y así evitarte esa labor... hay dos FAQ.
http://www.forosdelweb.com/showthrea...728#post463728
.. debe de venir al inicio de algún tutorial.

Ahora bien, sé que HTML-Kit tiene un plugin para convertir determinado texto en una cadena PHP imprimible, osease, lo que pides. Igual busca esa posibilidad en tu editor...

Otra: Deberías especificar la procedencia de tus datos... te han mensionado el uso de addslashes() que si bien es cierto te servirá, pero entiendo tú ya tienes un archivo con código, entonces para emplear addslashes() tendrás que abrir ese archivo, parsear su contenido para encontrar la parte que te imoporta y pasarle la función, realmente demasiado complicado... aunque igual podrías crear un archivo con un textarea donde puedas copiar y pegar solo lo que te importe; puede arrojar la cadena "con todo y echo()" .. sería simple.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 29/05/2006 a las 13:25
  #9 (permalink)  
Antiguo 30/05/2006, 15:19
 
Fecha de Ingreso: marzo-2006
Mensajes: 342
Antigüedad: 18 años, 1 mes
Puntos: 0
Editado Editado

Última edición por Saludos; 30/06/2007 a las 10:07
  #10 (permalink)  
Antiguo 03/06/2006, 14:18
Avatar de linuxexp  
Fecha de Ingreso: junio-2006
Mensajes: 1
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo Usar comillas simples en vez de dobles....

Mi primer post acá.

Lo que mencionó jerkan es el metodo que puedes utilizar. Sin utilizar funciones o manualmente usar \ -slash- como secuencias de escape.

Ejemplo:

Código PHP:
//Cambia la comilla doble al inicio y al final de la variable

$tabla "<table width="750" height="100" border="0" align="center" cellpadding="0" cellspacing="0"> 
  <tr> 
    <td height="
117" colspan="5"><img src="images/logo.jpg" width="750" height="118" border="0" usemap="#Map"></td> 
  
</tr></table>"; 

echo $tabla; 
//Por este codigo

Código PHP:
$tabla '<table width="750" height="100" border="0" align="center" cellpadding="0" cellspacing="0"> 
  <tr> 
    <td height="117" colspan="5"><img src="images/logo.jpg" width="750" height="118" border="0" usemap="#Map"></td> 
  </tr></table> '


echo 
$tabla
P.D. Espero que le sirva a alguien.

Linuxexp (Desde Caracas-Venezuela)

Última edición por linuxexp; 03/06/2006 a las 14:32 Razón: Cambio estilo
  #11 (permalink)  
Antiguo 03/06/2006, 15:45
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 17 años, 10 meses
Puntos: 1
la última respuesta me parece un poco más fácil, ahora, yo no se porque la necedad de poner al inicio de la página la pertura de php y al final el cierre, esto dificulta un poco el trabajo, como ahora en este caso, y aunado a eso, a veces falla en exploradores, mejor porque no dejar lo que es php que sea php y lo que es html que sea html. En lo que se propone la solución sería que en ves de guardar esa instrucción en la variable $tabla, la imprimas directamente, es decir, antes del tag <table> cerrar el php ?> crear la tabla y después abrir el php si se requiere <? , con ello se olvida si es comilla doble o simple. Ahora no pasa lo mismo con los formularios que se le asignan valores de variables, ya que ahí si por default se tiene que usar el echo y su contenido es html(nota cuando se hace esto les recomiendo que usen comillas dobles y las simples para el contenido). Por ejemplo algo como:
<input type="text" name="texto" value="algo">
y algo es una variable de php, sería mejor usar el echo con comillas dobles y su contenido con simples que dando así,
<? echo" <input type='text' name='texto' value='$variable'>";?>
con ello se consigue que en el campo de texto aparezca el contenido de la variable $variable.

Ahora hay muchas personas que usan esto así:
<input type='text' name='texto' value='<? echo $variable?>'>

Yo no lo recomiendo, es funcional hasta cieta medida, ya que si funciona con cadenas que no contengan espacios, pero que pasa si la variable contiene una dirección o algo que contenga espacio, solo obtendra en value el valor de la primera cadena, por lo tanto no es funcional, en cambio con la primer instrucción tomaría el valor de toda la variable.

Espero hay servido, para cualquier sugerencia, duda ó reclamación,

Última edición por jam1138; 03/06/2006 a las 15:56
  #12 (permalink)  
Antiguo 04/06/2006, 09:48
Avatar de Anastasiaphp  
Fecha de Ingreso: junio-2006
Ubicación: El patio de mi casa
Mensajes: 196
Antigüedad: 17 años, 10 meses
Puntos: 3
Puedes utilizar heredoc:

Código PHP:
$tabla = <<<ABC
<table width="750" height="100" border="0" align="center" cellpadding="0" cellspacing="0"> 
  <tr> 
    <td height="117" colspan="5"><img src="images/logo.jpg" width="750" height="118" border="0" usemap="#Map"></td> 
  </tr></table>"  

ABC;  

echo $tabla; 
La sintaxis de ABC puede estar formada por cualquier carácter.
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 22:51.