efectivamente, es lo que dice elzazu, no limpias la variable y lo que hace es ir sumando el texto, con lo que solo te funciona con la primera palabra...
Código PHP:
void SustituirPalabra(string &frase,string palCambio,string palNueva)
{
int i=0,j=0,k=0,l=0;
bool fin=false;
string aux="";
string parte1="";
string parte2="";
for(i=0;((i<(int)frase.length()-(int)palCambio.length() +1 )&& (fin==false));i++){
for(j=0;j<(int)palCambio.length();j++){
aux=aux+frase[i+j];
if(aux==palCambio){
for(k=0;k<i;k++){
parte1=parte1+frase[k];
}
for(l=(i+palCambio.length());l<(int)frase.length();l++){
parte2=parte2+frase[l];
}
frase=parte1+palNueva+parte2;
fin=true;
i=i+palNueva.length();
}
}
aux = "";
}
}
Última edición por Coke-OFF; 25/04/2008 a las 22:29.
|