Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2005, 08:52
claski
 
Fecha de Ingreso: julio-2005
Mensajes: 4
Antigüedad: 18 años, 9 meses
Puntos: 0
Exclamación reemplazar una cadena dentro de un string

Hola antes de todo, soy nueva aqui.

No se como explicar, pero debo hacer que unos tags que me aparecen en un string se me canvien por otros.

el string original seria:
--------------------------------------------------------
Quina <RESPOSTA>1#$#11#$#111#$#1111</RESPOSTA> hi ha entre les dades quantitatives i qualitatives. Fes-ho en 100 paraules
DONA ALGUN <RESPOSTA>2#$#22#$#222#$#2222</RESPOSTA> !!!!!!
-----------------------------------------------------------

El codigo de la funcion és:

function Verificar_Opcions_Resposta($latex,$inici,$final)
{
$i=$inici;
$trobat=false;
$part=true;
# Mentres no arribem a final de fitxer anem fent

while($i <= $final)
{
$valor=0;
$linia=" ".$latex[$i];
$valor=strpos($linia,"<RESPOSTA>");
#valor no pren cap valor ?????
if($valor!=0)
{ # Tenim l'inici ara buscarem el fi
$trobat=true;
$j=$i;
while($j< sizeof($latex) && strpos(" ".$latex[$j],"</RESPOSTA>")==0)
{
$j++;
}
if($j!=sizeof($latex))
{ # Un cop tenim l'inici i el fi anem a mirar que diu a dins
$solucio[]=tipus_18::Capturar_Resposta($latex,$i,$j);
}
else
{ # RESPOSTA mal delimitada
$part=false;
echo "<br><b>".msg("ERROR").":</b> ".msg("No he trobat la marca de fi de RESPOSTA")."<br>";
}
}
$i++;
}

if(!$trobat)
{
echo "<br><b>".msg("ERROR").":</b> ".msg("No he trobat RESPOSTA en aquests problemes")."<br>";
$part=false;
return $part;
}
else
{
return $solucio;
}
}

################################################## #############################
# fi funcio Verificar Opcions Resposta rev: 26/07/05
################################################## #############################
# funcio Capturar Respostes
# --------------------------
# El que fem en aquesta funció és capturar les respostes possibles.
#
################################################## #############################

function Capturar_Resposta($latex,$inici,$fi)
{
$i=$inici;
$j=$fi;
$resultat=array(true);
$trobat=false;

while($i<$j+1)
{
$linia=" ".$latex[$i];
$solucio=$solucio.$linia;
$trobat=true;
$i++;
}
$numeroin=strpos($solucio,"<RESPOSTA>");
$x=$numeroin;
$numerofi=strpos($solucio,"</RESPOSTA>");
$y=$numerofi;
for ($x;$x<$y;$x++)
{
$solucio2=$solucio2.$solucio[$x];
}
$resultat[1]=$solucio2;
#separarem per el caràcter
$solucio2=strtok($solucio2,"#$#");
$i=0;
while ($solucio2) {
$solucio3[]=$solucio2;
$solucio2=strtok("#$#");
$i++;
}

$resultat[2]=$solucio3;
if(!$trobat)
{
echo "<br><b>".msg("ERROR").":</b> ".msg("Hi ha respostes desconegudes, repassa-les")."<br>";
$resultat[0]=false;
return $resultat;
}

return $resultat;
}




Grácias por vuestra ayuda