Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Eliminare tutto quello che non è numero tranne il +

    Come da oggetto... come posso eliminare da una stringa php tutto quello che non è numero tranne il +? (Devo validare un numero di telefono che può essere anche internazionale)...

    Ciao e grazie

  2. #2
    Codice PHP:
    string "+390123456789";
    echo 
    preg_replace("`[^0-9+]`i","",$string); 
    Elimina tutto ciò che non sia un + o un numero

    http://it.php.net/preg_replace

  3. #3
    Originariamente inviato da mem
    Codice PHP:
    string "+390123456789";
    echo 
    preg_replace("`[^0-9+]`i","",$string); 
    Elimina tutto ciò che non sia un + o un numero

    http://it.php.net/preg_replace
    scusa se rompo, ma servirebbe anche a me per omettere il più basta levarlo dopo il 9? e per includere anche il -?
    grazie.. ciau

  4. #4
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Codice PHP:
    string "+390123456789";
    echo 
    preg_replace("`[^0-9\\?]`i","",$string); 
    E' lo stesso, però il punto interrogativo ha bisogno di un backslash se non mi sbaglio.
    Rimpiazzi tutto ciò che è diverso dai caratteri specificati tra parentesi quadre con il secondo parametro specificato (in questo caso tra virgolette c'è niente).

    http://it.php.net/preg_replace

  5. #5
    grazie infinite

  6. #6
    Codice PHP:
    string "58tjg+565-as54";
    echo 
    preg_replace("`[^0-9+-]`i","",$string); 
    se avessi questa stringa... per avere come risultato 58+565-54 va bene com'è scritto?
    grazie mille..
    ciau

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Originariamente inviato da Fred_88
    Codice PHP:
    string "58tjg+565-as54";
    echo 
    preg_replace("`[^0-9+-]`i","",$string); 
    se avessi questa stringa... per avere come risultato 58+565-54 va bene com'è scritto?
    grazie mille..
    ciau
    No. devi aggiungere il backslash davanti al traiino visto che e' un carattere speciale, come vedi viene usato per segnalare gli intervalli (ad esempio 0-9)

    Codice PHP:
    string "58tjg+565-as54";
    echo 
    preg_replace("`[^0-9+\-]`i","",$string); 
    No pvt per sollecitare risposte, grazie.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Uffff e' il forum che si mangia il backslash... forse lo avevi messo anche tu....

    No pvt per sollecitare risposte, grazie.

  9. #9
    Originariamente inviato da afurly
    No. devi aggiungere il backslash davanti al traiino visto che e' un carattere speciale, come vedi viene usato per segnalare gli intervalli (ad esempio 0-9)

    Codice PHP:
    string "58tjg+565-as54";
    echo 
    preg_replace("`[^0-9+\-]`i","",$string); 
    asd nono non l'avevo messo.. grazie! come mai questo problema del forum?
    ciau

  10. #10
    Il backslash è il carattere di escape, viene interpretato se non si fa l'escape dell'escape in pratica

    \\

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.