Visualizzazione risultati 1 fino 8 di 8

Discussione: [PHP] Prendere solo i caratteri alfanumerici da una stringa

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

    Question [PHP] Prendere solo i caratteri alfanumerici da una stringa

    Si dovrebbe capire dal titolo: mi servirebbe uno script che recuperi solo i caratteri alfanumerici (lettere e numeri) da una stringa. Ho creato uno script molto rozzo con un array contenente tutti i caratteri validi ma preferivo una cosa più elegante.

    EDIT: Ho provato questo codice:
    Codice PHP:
    $nuovotitolo="";
    preg_replace("#[0-9A-Za-z]#si","\$nuovotitolo.=\"$1\";",$titolo);
    Ma il risultato è una stringa vuota.
    Ultima modifica di funcool : 28-02-2006 alle ore 13.32.55
    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

  2. #2
    Guest

    Predefinito

    Codice PHP:
    $nuovotitolo = preg_replace("#([a-z0-9])#is", "$1", $titolo);
    non serve mettere sia A-Z che a-z xke c'è impostato il parametro i cioè insensitive

    ciao ^__^

  3. #3
    Guest

    Predefinito

    Penso che il problema stia nel fatto che perg_replace non è in grado di eseguire codice php (cosa che tu volevi fare attraverso il secondo parametro).
    Vedendo quello spezzone di codice, poi, non capisco perché prima crei una variabile vuota, e dopo la vuoi riempire.
    Non sarebbe più semplice questo:
    Codice PHP:
    $nuovotitolo=preg_replace("#[0-9A-Za-z]#si","$1",$titolo);
    Oppure esegui queste istruzioni attraverso un ciclo foreach su un array?
    Perché in quel caso basterebbe appandere la variabile contentente il risultato dell'espressione regolare a quella che contiente i risultati di tutto l'array.

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

    Predefinito

    Ho messo "\$nuovotitolo.=\"$1\";" perché l'avevo trovato sul forum di www.html.it e volevo vedere se funzionava in quel modo e perché avevo il tutto in un ciclo.
    Comunque il codice che mi avete consigliato è sbagliato perché recupero tutti i valori diversi da lettere e numeri. Come posso fare?
    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

  5. #5
    Guest

    Predefinito

    prova cosi:
    Codice PHP:
    $nuovotitolo = preg_replace("#(\W\D)#is", "", $titolo);
    ciao ^__^

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

    Predefinito

    Citazione Originalmente inviato da jostock
    prova cosi:
    Codice PHP:
    $nuovotitolo = preg_replace("#(\W\D)#is", "", $titolo);
    ciao ^__^
    In questo modo però le lettere accentate vengono considerate.
    Non si riesce a far qualcosa mantenendo la struttura A-Za-z0-9?

    EDIT: Mi vengono anche cancellate delle lettere.
    Ultima modifica di funcool : 28-02-2006 alle ore 15.20.57
    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

  7. #7
    Guest

    Predefinito

    Codice:
     $nuovotitolo = preg_replace("#([^a-z0-9])#i", '', $titolo);

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

    Predefinito

    Citazione Originalmente inviato da Inverno
    Codice:
     $nuovotitolo = preg_replace("#([^a-z0-9])#i", '', $titolo);
    Grazie, funziona!
    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
  •