Foros del Web » Programando para Internet » PHP »

Reemplazar cadenas

Estas en el tema de Reemplazar cadenas en el foro de PHP en Foros del Web. Hola maestros: quiero reemplazar una cadena con el codigo siguiente: Código PHP: while ( $row  =  mysql_fetch_array ( $result )) {      $resultado  =  $row [ "title" ...
  #1 (permalink)  
Antiguo 22/05/2003, 11:13
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Reemplazar cadenas

Hola maestros:

quiero reemplazar una cadena con el codigo siguiente:

Código PHP:
while ($row mysql_fetch_array($result)) {
    
$resultado $row["title"];
    
     
$pos2=strpos(strtoupper($resultado),strtoupper($buscar))+strlen($buscar);
     
$reemplaza substr_replace($resultado,' ',$pos2,2);
     echo 
"cadena reemplazada: ".$reemplaza."<br>";
       
   } 
y lo que quiero reemplazar es:

Women's por Women
Womens por Women

solo que al encontrase con el ' me pone esto:

Harvard women's health watch //cadena a reemplazar

y el resultado es este:

cadena reemplazada: Harvard women 039;s health watch

por que?
  #2 (permalink)  
Antiguo 22/05/2003, 11:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Me marece que simplemente así:

Código PHP:
str_replace("'","",$resultado); 
te sobra ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 22/05/2003, 11:58
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
no hace nada
  #4 (permalink)  
Antiguo 22/05/2003, 12:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ops!..

Código PHP:
$reemplaza=stripslashes(str_replace("'","",$resultado)); 
Y por supuesto .. ya no te haría falta toda esa lógica de $pos2 q tienes por ahí rondando ..

Uso stripslahes() para quitar tus \ de ' por si así los guardas en tu BD ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 22/05/2003, 13:31
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
pues disculpame pero no sale

me sigue saliendo este resultado:

Harvard women's health watch

resultado:


cadena reemplazada: Harvard women#039;s health watch

como lo soluciono.

perdon Cluster mira este script le estoy ayudando a alguien a hacerlo y me dice que los ' los esta guerdando como '

que puedo hacer.

MIL DISCULPAS MAESTRO Cluster

Última edición por payo22; 22/05/2003 a las 13:12
  #6 (permalink)  
Antiguo 22/05/2003, 13:31
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Cita:
Mensaje Original por payo22
Harvard women#039;s health watch
Código PHP:
str_replace("#039","",$resultado); 
Haz otro replace.

Un saludo,
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #7 (permalink)  
Antiguo 22/05/2003, 13:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El problema es que en tu BD no estas almacenando el caracter ', sino que estas almacenando la cadena & # 0 3 9 ; (sin espacios) que eso los exploradores lo muestran como '. Realmente es el metodo que tiene HTML para poder indicar el codigo del caracter. En uno de los comentarios de lo susuarios en http://www.php.net/manual/en/functio...tion-table.php pone una funcion para pasar de ese codigo al caracter.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 22/05/2003, 13:53
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
ya quedo


gracias por todo

lo que hice fue poner

$reemplaza = str_replace(" & # 0 3 9; ","",$resultado);

esto si en la base de datos tienen guardado el caracter ' como '

o bien

$reemplaza = str_replace("'","",$resultado);

si lo tienen como '
por si alguien tiene el mismo problema.

gracias Cluster y Josemi por su apoyo.

Última edición por payo22; 22/05/2003 a las 14:16
  #9 (permalink)  
Antiguo 22/05/2003, 13:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Payo22 (o Cluster), edita el post anterior para que le vea la cadena & # 0 3 9, porque sino parece el mismo codigo en los casos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 13:59.