Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119

    controllare e deviare output

    c'è una funzione che permette di controllare l'output e assegnarlo a una var?
    esempio:
    Codice PHP:
    //questa function non la posso modificare:
    function scrivi($str)
    {
    echo 
    '*'.$str.'*';
    }

    //codice che richiama la function
    scrivi('ciao'); //scrive *ciao* 
    se volessi sostituire gli asterischi con dei trattini, dovrei fare
    $stringa = str_replace('*','-',scrivi('ciao'));
    il problema è che scrivi() fa un echo diretto, io vorrei fare in modo che il suo output possa essere raccolto da una funzione per poi assegnarlo ad una variabile! (ovviamente senza modificare la funzione)

    si capisce qualcosa?

  2. #2

    Re: controllare e deviare output

    Originariamente inviato da web ces
    c'è una funzione che permette di controllare l'output e assegnarlo a una var?

    si capisce qualcosa?
    Sarei bugiardo se ti dicessi di si....

    ma se intendi dire raccogliere l'echo in una variabile invece di stamparla basta che la infili in una $var:
    Codice PHP:
    //questa function non la posso modificare:
    function scrivi($str)
    {
    echo 
    '*'.$str.'*';
    }

    //codice che richiama la function
    $var scrivi('ciao'); //scrive *ciao* nella variabile 
    ciao biondo.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    se non puoi modificarla non puoi fare molto...
    dovresti modificare l'echo in return...

    //questa function non la posso modificare:
    function scrivi($str)
    {
    return '*'.$str.'*';
    }

    //codice che richiama la function
    echo str_replace('*','-',scrivi('ciao')); //scrive -ciao-

    ciao
    visitate http://camicio.altervista.org per caxxate varie :d

  4. #4
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    beh hai capito benissimo invece...

    mi spiace deluderti ma così non funziona... lo scrive per l'echo e non assegna niente alla var...

    credevo ci fosse una funzione di controllo dell'output!

    ciao

    p.s. non sono biondo :gren:

  5. #5
    è un echo non un return
    puoi usare



    function scrivi($str)

    {

    echo '*'.$str.'*';

    }



    //codice che richiama la function
    ob_start();
    scrivi('ciao'); //scrive *ciao* nella variabile

    $var=ob_get_contents ();
    ob_flush();

    echo "\n\nvar vale {$var}";

  6. #6
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    Originariamente inviato da camicio109
    se non puoi modificarla non puoi fare molto...
    dovresti modificare l'echo in return...

    //questa function non la posso modificare:
    function scrivi($str)
    {
    return '*'.$str.'*';
    }

    //codice che richiama la function
    echo str_replace('*','-',scrivi('ciao')); //scrive -ciao-

    ciao
    ti auto-contraddici!

  7. #7
    Originariamente inviato da web ces
    beh hai capito benissimo invece...

    mi spiace deluderti ma così non funziona... lo scrive per l'echo e non assegna niente alla var...

    credevo ci fosse una funzione di controllo dell'output!

    ciao

    p.s. non sono biondo :gren:
    Come ti ho messo su NON stampa, ma scrivi() mette l'output nella variabile.
    fai copia incolla di quello che ho postato e vedrai NULLA se non aggiungi echo $var... Ma forse non e' quello che cercavi_tu/capito_io

    ciao mancato biondo...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    grazie piero ma veramente stampa...
    cmq hai capito bene

    il codice di eyescream invece funziona!
    grazie! ciao

  9. #9
    Originariamente inviato da web ces
    grazie piero ma veramente stampa...
    cmq hai capito bene

    il codice di eyescream invece funziona!
    grazie! ciao
    Posta il codice.

    ooops.... return - echo ho visto ora...

    Ok...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    Originariamente inviato da web ces
    il codice di eyescream invece funziona!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.