Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: sostituzione testo

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376

    sostituzione testo

    cosa non va in questa funzione?

    Codice PHP:
    function sost($_POST['testo']) {
    $cerca 'uno';
    $sostituisci 'due';
    return 
    str_replace($cerca$sostituisci$_POST['testo']);
    }
    echo 
    sost($_POST['testo']); 
    ?>
    <form method=post action='mail.php'>
    <input type=text name=testo />
    <input type=submit name=submit value="sostituisci" />
    </form> 
    mi da
    Parse error: syntax error, unexpected '[', expecting ')' in mail.php on line 25

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    la firma della funzione, non puoi usare $_POST

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    quindi
    $_POST['testo'] diventa $testo

    e invece quando stampo il risultato è meglio fare
    echo sost($_POST['testo']);
    oppure
    echo sost($testo);

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    la funziona diventa
    Codice PHP:
    function sost($testo) { 
    $cerca 'uno'
    $sostituisci 'due'
    return 
    str_replace($cerca$sostituisci$testo); 

    mentre quando la chiami fai
    Codice PHP:
    echo sost($_POST['testo']); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    Originariamente inviato da bstefano79
    la funziona diventa
    però potrei fare anche così:

    Codice PHP:
    function sost() { 
    $cerca 'uno'
    $sostituisci 'due'
    return 
    str_replace($cerca$sostituisci$_POST['testo']); 

    echo 
    sost(); 
    che differenza c'è tra le due versioni?

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    che nell'ultimo caso funziona solo con $_POST['testo']

    mentre se fai
    function sost($testo)

    poi puo chiamarlo con qualsiasi testo
    echo sost($_POST['testo']);
    echo sost($miotesto);
    echo sost($unaltrotestoancora);

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    se ho capito bene, facendo

    function sost($testo)

    posso applicare la funzione (e cioè la sostituzione di una parola) a qualsiasi altro elemento (variabile): che sia un altro campo di testo, una variabile fissa ecc.

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    una variabile fissa non so cosa sia un bell'ossimoro
    cmq si, quando dichaiari una funzione
    function funzione($a)
    le variabili contenute nella firma, sono come variabili definite all'interno della funzione che vai ad assegnare al momento in cui chiami la funzione
    funzione(5);
    alla variabile $a nella funzione viene assegnato il valore 5

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    E se volessi applicarla a due variabili insieme? cioè una cosa tipo
    function sost($testo, $altrotesto)

  10. #10
    dipende cosa vuoi come return.

    Cioè cosa vorrai che la funzione ti restiruisca?
    Una unica stringa che concatena le due (o più) passate come parametro ed esegua la sostituzione?
    Rimanere le due stringhe distinte e farti restituire un array con le singole stringhe passate come parametro?

    Spiega cosa vuoi ottenere e ti si potrà rispondere...
    se poi ci spieghi anche l'ambito concreto in cui vorrai applicarla ancora meglio...
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

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.