Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    2

    Sostituire punti di domanda con dei valori di un array

    Ciao a tutti
    Ho un problema e non so più che funzioni utilizzare per risolvere
    Ho bisogno di rimpiazzare da una stringa tutti i punti di domanda con dei valori di un array (non associativo)
    Quindi ho provato a usare la funzione array_combine per generare un array che come chiavi ha tutti i punti di domanda e come valori quelli dell'array.solo che mi cancella tutti i valori tranne uno in quanto se ci sono chiavi uguali ossia i punti di domanda,quindi esclude gli elementi per creare l'array.
    Ho provato con le funzioni str_replace e preg_replace..stessa cosa gli passo un array con un quantitativo di punti di domanda pari al numeri di elementi dell'array con in valori ..ma anche qui non funziona mi considera un solo elemento esclude le chiavi uguali.
    Come posso risolvere non so più dove arrampicarmi
    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    E' una cosa così quella che ti serve?
    Codice PHP:
    <?php
    $array 
    = array("Pippo","Topolino","Pluto","Paperino");
    $stringa "? telefona a ? e con ? decidono di andare a trovare ?.";

    echo 
    $stringa "

    "
    ;

    foreach(
    $array as $value) {
        
    $stringa preg_replace("[\?]",$value,$stringa,1);
    }
    echo 
    $stringa;
    ?>
    Nella funzione preg_replace devi mettere un \ prima del ?, l'editor del forum me lo toglie.

  3. #3
    Puoi sostituire i punti di domanda con '%s' e usare vsprintf():

    Codice PHP:
    $string 'prova di ? del ? con la ? vsprintf';
    $values = array('sostituzione''testo''funzione');

    echo 
    sostituisci($string$values);

    function 
    sostituisci($string$values) {
        
    $string str_replace('?''%s'$string);
        return 
    vsprintf($string$values);


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    2
    Grazie delle proposte
    @k.b Il problema e che non posso usare vsprintf perchè ci sono delle query in cui utilizzo il carattere jolly % e andrebbe a generare errori php.mi serviva fare una sorta di prepared statements per le query su db semplice veloce
    La soluzione di Alhazred è quella che cercavo di ottenere.
    Vi ringrazio ancora

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.