Visualizzazione risultati 1 fino 20 di 20

Discussione: [PHP]Funzione su php 4 (str_replace)

  1. #1
    Guest

    Post [PHP]Funzione su php 4 (str_replace)

    $list = str_replace(" "," ",$result,$count);

    Questa è la classica funzione di str_replace che su php5 ha un nuovo parametro,il count dei replace che effettua.
    Ma in php4 come posso fare il count dei replace...?

  2. #2
    Guest

    Predefinito

    Potresti usare le espressioni regolari, come preg_replace.


    Ciaoo!!

  3. #3
    Guest

    Predefinito

    Spiegare plz

  4. #4
    Guest

    Predefinito

    Non c'è molto da spiegare, soprattutto se devi eseguire delle sostituzioni semplici (come lo permette str_replace).

    preg_replace("#vechhio testo#", "nuovo testo", $var, $limite);


    Ciaoooo!

  5. #5
    Guest

    Predefinito

    Il problema non è limitare le sostituzioni,ma effettuarle tutte e contarle.
    Esempio pratico con php5:
    <?
    $var="provaprovaprova";
    $list = str_replace("p"," ",$var,$count);
    echo"Risultato <br /> $list $count";
    ?>
    Risultato
    rovarovarova 3

    ---------------------
    Vorrei ottenere lo stesso risultato con php4

  6. #6
    Guest

    Predefinito

    Sorry non avevo capito la richiesta! :D

    Così su due piedi potresti usare 2 modi, sempre con le regex.

    1° con preg_replace_callback, in cui puoi richiamare una funzione php in concomitanza alla sostituzione, e nel tuo caso puoi far aumentare una variabile per il conteggio.

    2° con preg_match, eseguendo un ciclo:
    while(preg_match(...)){ //sotituisci e $var++; }
    però devi vedere se nel tuo caso è fattibile.


    Ciaooooo!!!!

  7. #7
    Guest

    Predefinito

    Niente da fare.....mmm

    --------------------------------
    Nel frattempo pongo un'altro problema.

    $var="Prova1 prova contenuto qualsiasi $List Prova| altro contenuto";

    echo"$var";

    Vorrei che il risultato sia Prova.
    Cioè che lo script prenda da $List al prossimo pipe,e che mi dia come outpout Prova.

    Speriamo bene...
    Ultima modifica di svacant : 31-01-2007 alle ore 16.51.10

  8. #8
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    fai
    Codice PHP:
    $var="Prova1 prova contenuto qualsiasi $List Prova| altro contenuto";
    $var = explode (" ", $var);
    echo
    $var[1];

  9. #9
    Guest

    Predefinito

    Magari fosse così semplice.

    Il contenuto prima e dopo di $List Prova| può essere qualsiasi,e siccome non è una variabile fissa con l'explode non si fà niente,già provato.

    $var="Prova1|..$prova..-?prova$List Prova| 1$||";

    ecco un piccolo esempio di come potrebbe variare il contenuto.
    Quindi avrei bisogno di una funzione che prenda da $List al prossimo pipe.
    Ultima modifica di svacant : 31-01-2007 alle ore 17.16.23

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    <?
    $var
    ="provaprovaprova";
    $count=substr_count($var,"p")
    $list=str_replace("p"," ",$var);
    echo
    "Risultato<br />{$list} {$count}";
    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    Guest

    Predefinito

    Grazie funcool,grazie anche a te debug.
    Il primo problema è risolto!...ora resta il secondo.

    (Lo sò sn un rompi pale lol)

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    <?
    $list
    ="parola";
    $var="Prova1 prova contenuto qualsiasi $List Prova| altro contenuto";
    $testo=preg_replace("#".$list."(.+?)|]#i",$1,$var);
    echo
    $testo;
    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  13. #13
    Guest

    Predefinito

    Niente non funge,vediamo se riesco da solo...

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Scusa ho scritto un carattere in più, prova così:
    Codice PHP:
    $testo=preg_replace("#".$list."(.+?)|#i",$1,$var);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    Guest

    Predefinito

    Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in C:\Programmi\EasyPHP 2.0b1\www\hublist\prova.php on line 8

    <?
    $list="List";
    $var="Prova1 prova contenuto qualsiasi \$List Prova| altro contenuto";
    $testo=preg_replace("#".$list."(.+?)|#i",1,$var);
    echo $testo;
    ?>
    Se cambio $1 con 1..ecco il risultato
    1P1r1o1v1a111 1p1r1o1v1a1 1c1o1n1t1e1n1u1t1o1 1q1u1a1l1s1i1a1s1i1 1$11P1r1o1v1a1|1 1a1l1t1r1o1 1c1o1n1t1e1n1u1t1o1

  16. #16
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova così:
    Codice PHP:
    $testo=preg_replace("#".$list."(.+?)|#i","\\1",$var);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  17. #17
    Guest

    Predefinito

    Si comporta come lo str_replace,difatti elimina la variabile $list dalla stringa $var.
    $list=" ";
    $var="Prova1 prova contenuto qualsiasi \$List Prova| altro contenuto";
    $testo=preg_replace("#".$list."(.+?)|#i","\\1",$va r);
    echo $testo;
    Il risultato è l'eliminazione degli spazi.

  18. #18
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Allora prova così:
    Codice PHP:
    <?
    $list
    ="parola";
    $var="Prova1 prova contenuto qualsiasi ".$List." Prova| altro contenuto";
    if (
    ereg("#".$list."(.+?)|#i","\\1",$var,$regs))
    echo
    $regs[1];
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  19. #19
    Guest

    Predefinito

    Niente :(

  20. #20
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ti dà qualche errore?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •