Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538

    Usare un array in preg_replace

    Ho una variabile contente del testo, $model.
    Questa in vari punti contiene cose del tipo [[Nome]], [[Data]] etc..

    Io ora vorrei sostituire queste porzioni di stringa con il testo contenuto in un elemento di un array avente come indice il testo contenuto tra [[ e ]].
    Mi spiego meglio:

    Codice PHP:
    $model "Ciao, mi chiamo [[Nome]]. Sono nato il [[Data]] e vivo a [[Città]]";

    $dati['Nome'] = 'gigi';
    $dati['Data'] = '9/6/1988';
    $dati['Città'] = 'Roma'
    Io ora vorrei sostituire tutti gli elementi contenuti tra [[ e ]] con i rispettivi elementi dell'array $dati.

    Ho provato cosi:
    Codice PHP:
    $text preg_replace("\[\[(.+)\]\]""$dati['\\1']" ,$model); 
    ma mi da questo errore:
    Parse error: syntax error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\appserv\www\kubuntu\moduli\item.php on line 19

    Avete qualche idea?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Codice PHP:
    $cerca = array("[[Nome]]","[[Data]]","[[Città]]");
    $model str_replace($cerca,$dati,$model); 

  3. #3
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    vabbè, pensavo fosse implicito che stavo cercando una soluzione indipendente dal numero di elementi nell'array.

    Cioè, io devo poter modificare l'array senza andare a modificare il codice ogni volta!

  4. #4
    $text = preg_replace("/\[\[([^\]]+)\]\]/e", '$dati["\\1"]' ,$model);

    ma ti sconsiglio vivamente questa operazione per numerosi motivi
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.