Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170

    sostituzione stringa con valore di array

    Salve a tutti ,
    io vorrei sostituire in una stringa un certo valore identificato con ### con un valore presente in un array facendo in modo che le sostituzione avvengano in modo progressivo con i valore dell'array mi spiego con un esemipo
    $array[0]='sign'
    $array[1]='rossi'
    $array[2]='mario'

    $stringa ="Gentilissimo ### Franco la saluto il suo collega ### ###"

    risutlato="Gentilissimo sign Franco la saluto il suo collega rossi mario""
    come potrei fare?

    grazie a tutti

  2. #2
    Puoi utilizzare explode() ed un ciclo, oppure preg_replace_callback(), oppure le funzioni di manipolazione delle stringhe.

    Molto dipende dalle tue necessità, anche se non sono molto convinto che la strada che hai deciso di prendere sia la migliore.

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da filippo.toso
    Puoi utilizzare explode() ed un ciclo, oppure preg_replace_callback(), oppure le funzioni di manipolazione delle stringhe.

    Molto dipende dalle tue necessità, anche se non sono molto convinto che la strada che hai deciso di prendere sia la migliore.
    non necessariamente....

    si può usare il classico str_replace passandogli come argomenti un array delle str5inghe da identificare e un array con le stringhe di rimpiazzo

    quindi
    Codice PHP:

    $tags
    =array('%NOME%','%COGNOME%','%CITTA%');
    $reps=array('Mario','Rossi','Milano');



    $stringa="ciao! sono %NOME% %COGNOME% e vengo da %CITTA%";

    $res=str_replace($tags,$reps,$stringa);

    echo 
    $res// ciao! sono Mario Rossi e vengo da Milano 
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    A me sembrava che stessa parlando di un array con indici numerici e ### come separatore.

    Se si può cambiare sia la stringa in input che l'array, esistono molti altri modi per risolvere il problema...

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da dottwatson
    non necessariamente....

    si può usare il classico str_replace passandogli come argomenti un array delle str5inghe da identificare e un array con le stringhe di rimpiazzo

    quindi
    Codice PHP:

    $tags
    =array('%NOME%','%COGNOME%','%CITTA%');
    $reps=array('Mario','Rossi','Milano');



    $stringa="ciao! sono %NOME% %COGNOME% e vengo da %CITTA%";

    $res=str_replace($tags,$reps,$stringa);

    echo 
    $res// ciao! sono Mario Rossi e vengo da Milano 

    forse hai ragione te, ho letto male io il post.. ad ogni modo se sta creando lui la procedura è più ordinata e flessibile la soluzione che gli ho proposto, con degli identificatori unici
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.