Foros del Web » Programando para Internet » PHP »

Reemplazar cadena de caracteres

Estas en el tema de Reemplazar cadena de caracteres en el foro de PHP en Foros del Web. Bueno, he estado buscando - de las muchas funciones para cadenas que tiene PHP - y no he encontrado la que quiero y que sí ...
  #1 (permalink)  
Antiguo 15/09/2003, 10:37
 
Fecha de Ingreso: diciembre-2001
Ubicación: Vigo
Mensajes: 38
Antigüedad: 16 años
Puntos: 0
Reemplazar cadena de caracteres

Bueno, he estado buscando - de las muchas funciones para cadenas que tiene PHP - y no he encontrado la que quiero y que sí existe en ASP.

Se trata de cambiar un carácter en una posición determinada, independientemente del valor que tenga ese carácter. P.Ej:

$palabra="carácter"
Quero que me cambie el carácter de la pos. 6 ("t"), por "m", quedando carácmer. No quiero hacer un str_replace, porque tiene que funcionar igual cualquiera que sea el carácter a modificar.

Si existe algo, por favor, decirlo.

Un Saludote y muchas gracias de antemano.
__________________
El que estudia, olvida; el que lee, aprende; y el que hace, sabe (Algún autodidacta, supongo...)
  #2 (permalink)  
Antiguo 15/09/2003, 10:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

En PHP se puede acceder a la cadena como si fuese un array de caracteres usando {}:
Código PHP:
$cadena="pepe";
$cadena{2}='z';
echo 
$cadena
Recuerda que en PHP los arrays comienzan por el indice 0. Mira http://www.php.net/manual/en/language.types.string.php

Y si quieres sustituir mas de un caracter, una cadena, puedes usar la funcion substr_replace() (www.php.net/substr_replace).

Saludos.

PD: Mira que pensar que PHP era menos que ASP ...
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/09/2003, 12:22
 
Fecha de Ingreso: diciembre-2001
Ubicación: Vigo
Mensajes: 38
Antigüedad: 16 años
Puntos: 0
Gracias, josemi.

Ya lo puedo aplicar.

PD: No es que piense que PHP es menos que ASP (Ya hay sobradas opiniones al respecto, y no voy a ser yo el que reinicie de nuevo la polémica), pero me extrañaba que de tantas funciones que tiene PHP para cadenas no existiera una que lo hiciera automáticamente en un solo comando. Por eso, al no encontrarlo ni en el manual de PHP ni en un libro que tengo, puse la pregunta, por si había buscado mal.

Un saludo y gracias de nuevo. .-)
__________________
El que estudia, olvida; el que lee, aprende; y el que hace, sabe (Algún autodidacta, supongo...)
  #4 (permalink)  
Antiguo 15/09/2003, 12:23
 
Fecha de Ingreso: diciembre-2001
Ubicación: Vigo
Mensajes: 38
Antigüedad: 16 años
Puntos: 0
Gracias, josemi.

Ya lo puedo aplicar.

PD: No es que piense que PHP es menos que ASP (Ya hay sobradas opiniones al respecto, y no voy a ser yo el que reinicie de nuevo la polémica), pero me extrañaba que de tantas funciones que tiene PHP para cadenas no existiera una que lo hiciera automáticamente en un solo comando. Por eso, al no encontrarlo ni en el manual de PHP ni en un libro que tengo, puse la pregunta, por si había buscado mal.

Un saludo y gracias de nuevo.
__________________
El que estudia, olvida; el que lee, aprende; y el que hace, sabe (Algún autodidacta, supongo...)
  #5 (permalink)  
Antiguo 15/09/2003, 13:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
De nada.

Y la PD iba de broma, se me olvido ponerle el emoticon. Aqui todos pasamos de guerras santas. Ademas, conocemos la verdad

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 15/09/2003, 13:56
 
Fecha de Ingreso: julio-2002
Mensajes: 322
Antigüedad: 15 años, 4 meses
Puntos: 0
En cualquier caso solo te ha hecho falta un solo comando para hacerlo...
__________________
Saludos

Rubén
Teléfonos móviles, curiosidades: http://telefonos-moviles.muchodenada.com/
  #7 (permalink)  
Antiguo 11/01/2005, 15:27
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 15 años, 8 meses
Puntos: 0
Hola, yo tengo un problema un poco mas complejo y no se resolverlo a ver si me podeis aclarar las ideas,

Reslta que tengo una cadena con nombres separada por ; asi:

pedro;pepe;pedro;juan;pedro

Tengo la dadena troceada por un explode por los ; con lo que se cada nombre en que posicion de la cadena esta:

pedro;pepe;pedro;juan;pedro;
0 1 2 3 4

, y ahora quiero sustituir la cadena pedro; pero la que esta en la posicion 2,
lo he intentado con la funcion str_replace pero me sustituye los dos pedros, es decir, pedro (0) y pedro (2) ¿Alguna idea de como puedo hacerlo?
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:37.