Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/06/2008, 19:03
isra00
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: reemplazar varias cadenas en un texto

Prueba con esto:
Código PHP:
$textoContrato="El declarante #nombre# se compromete, a fecha de #fecha#, a resolver la duda en el foro";
$valores=array("nombre"=>"isra","fecha"=>"26/6/2008");
//$consulta=mysql_query("SELECT * FROM valores_contrato WHERE id=xx");
//$valores=mysql_fetch_assoc($consulta);
$partes=split("#",$textoContrato);
for (
$i=0;$i<count($partes);$i++) {
    if (
array_search($partes[$i],array_merge(array(null),array_keys($valores)))) {
        
$partes[$i]=$valores[$partes[$i]];
    }
}

$textoFinal=implode('',$partes);
echo 
$textoFinal
Me ha salido un poco enrevesado pero espero que lo entiendas (y que yo te haya entendido a ti). Se supone que tenemos un texto con las etiquetas, y los datos a sustituir los tenemos en un array asociativo (he comentado las líneas de acceso a BD como ejemplo, poniendo arriba los valores concretos). La función split parte la cadena donde se encuentran símbolos #, y después se recorren las partes comprobando que existe un elemento en el array de valores cuya clave corresponde con esa parte.

Al menos a mí me ha funcionado, ahora espero que sea eso lo que buscabas...
Me voy a dormir, que aquí son las 3:00am
Un abrazo.