Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318

    Eliminare tutti i caratteri tranne i numeri da una stringa

    So che sicuramente è una str...ta, ma sto sbattendo la testa e non riesco a trovare la soluzione.

    Devo prendere dei numeri telefonici da una rubrica e convertirli in soli numeri.
    Es. num: 06.33.44.55 deve diventare 06334455, quindi la stringa deve eliminare tutto ciò che non è un numero da 0 a 9.

    Codice PHP:
    $da_sostituire = array("\"""'"",""+""/""-"" "".");
    $da_sostituire_con "";
    $repl_tel_fisso str_replace($da_sostituire$da_sostituire_con$tel_fisso); 
    Sono sicuro che esiste una classe o un range di caratteri ascii a cui mi devo riferire che non riesco a trovare.

    Aiutatemi grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Oppure una semplice soluzione manuale

    Codice PHP:
    $s '06.33.44.55';
    $string '';

    for(
    $i=0;$i<strlen($s);$i++)
         
    $string .= (is_numeric($s[$i])) ? $s[$i] : '';

    echo 
    $string

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    39
    Sì, è molto semplice: devi usare le espressioni regolari

    Codice PHP:
    $telefono_sporco '06.33,4-4 55';
    $telefono_pulito preg_replace('/\D/''',  $telefono_sporco);
    echo 
    $telefono_pulito//stampa 06334455 

  4. #4
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318
    Lo sapevo che era semplice !!!
    Grazie ;-)

  5. #5
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318
    La soluzione migliore è:
    Codice PHP:
    $trova '/[^0-9]/'//Trova tutti i caretteri che non siano quelli compresi da 0-9 
    $sostituisci  '';
    $telefono =  preg_replace($trova,$sostituisci,$telefono); 
    Grazie alla guida: http://php.html.it/articoli/leggi/85...ni-regolari/2/

  6. #6
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318
    Originariamente inviato da 110ff
    Sì, è molto semplice: devi usare le espressioni regolari

    Codice PHP:
    $telefono_sporco '06.33,4-4 55';
    $telefono_pulito preg_replace('/\D/''',  $telefono_sporco);
    echo 
    $telefono_pulito//stampa 06334455 
    La tua funzione mi ha confuso perchè mancava il carattere di escape nascosto dalla formattazione del messaggio.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    39
    ops

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.