Foros del Web » Programando para Internet » PHP »

problemas con str_replace

Estas en el tema de problemas con str_replace en el foro de PHP en Foros del Web. Hola a todos: aeerrr se lo voy a explicar todo mejor: tengo un campo donde un usuario puede ingresar texto html, lo que pasa es ...
  #1 (permalink)  
Antiguo 13/04/2005, 12:56
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
problemas con str_replace

Hola a todos:

aeerrr se lo voy a explicar todo mejor:

tengo un campo donde un usuario puede ingresar texto html, lo que pasa es que no estaba validando nada, y cuando el quiere modificar el html en el campo de texto este no le sale completo ya que habia ingresado unas comillas, bueno eso lo arregle con esto:

$temp = odbc_result($result,"link");
$string = htmlspecialchars ($temp);
echo $string;

esto imprime:
<a href="http://www.carmell.cl">www.carmell.cl</a> (es lo que ve el usuario, por html me imprime otra cosa)

y me lo imprime perfecto, lo que pasa es que cuanto envio el formulario me envia eso

<a href=\"http://www.carmell.cl\"www.carmell.cl</a>

sin que yo no le hiciera nada, bueno como no entendia lo que pasaba trate de hacerle un str_replace
y asi me quedo

$link = str_replace ("\"","",$link);

<a href=\http://www.carmell.cl\>www.carmell.cl</a>

no me esta tomando el \ y yo no quiero borrar las " si no que esto \

Creo que me explique bien creo que ustedes lo van a salucionar facilmente

Saludos MAuricio
  #2 (permalink)  
Antiguo 13/04/2005, 14:42
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
Ocupa stripslashes()

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

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 13/04/2005, 16:38
 
Fecha de Ingreso: abril-2005
Ubicación: Argentina
Mensajes: 33
Antigüedad: 19 años
Puntos: 0
Como dijo jam1138 o
$link = str_replace ("\\","",$link);

Ya que la \ escapa caracteres especiales pero \\ escapa a su pripo caracter
__________________
Staff Soporte
ihServer.Net
www.ihserver.net
Hosting - Resellers - Dedicados
  #4 (permalink)  
Antiguo 13/04/2005, 19:38
 
Fecha de Ingreso: abril-2005
Ubicación: Montevideo, Uruguay
Mensajes: 102
Antigüedad: 19 años
Puntos: 0
Ten en cuenta que ese comportamiento es debido a que PHP tiene activado el flag magic_quotes_gpc. Eso quiere decir que PHP va a escapar las comillas en todos los datos recibidos por GET, POST o COOKIES.

Como práctica, lo que suelo hacer en mis aplicaciones para no tener incertidumbre sobre lo que pasa con las comillas en las entradas, es deshabilitar el magic_quotes_gpc siempre, y cuando necesite escapar las comillas, por ejemplo, cuando se va a hacer un SQL con datos tomados de una entrada, escaparlas a mano con addslashes()

Una forma de deshabilitar el magic_quotes_gpc es haciendo un archivo .htaccess que subes en el mismo directorio de tu script con el siguiente contenido:

php_flag magic_quotes_gpc Off

Siempre y cuando el servidor web sea Apache, por supuesto.

Saludos.
__________________
Mauricio Etcheverry

WebMaster de YoReparo.com
  #5 (permalink)  
Antiguo 15/04/2005, 16:53
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
voy a probar salu2
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 23:58.