Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188

    Pulizia caratteri (estesi) in stringa

    Buon giorno.
    Ho necessità di pulire una stringa di tutti i caratteri che non siano le lettere (accettate maiuscolo e minuscole) ed i numeri.
    Non è accettato nessun altro carattere (ne' punteggiatura, ne' accentate, ne' grafici, ne' matematici, ne' spazi, trattini, underscore, ecc ecc).



    Io ho fatto un lungo elenco di string_replace con tutti i caratteri che mi sono venuti in mente sostituiti da nulla, ma oltre ad essere proprio un pessimo esempio di programmazione, non posso sapere se uno ha un charset tutto suo con una tastiera marziana e mi mette qualche porcata (per il quale non ho previsto sostituzione).

    Avevo anche pensato ad una funzione che scorra tutti i caratteri e segnali se uno di questi non è una lettera/cifra, ma anche questa mi sembra una cosa molto macchinosa.

    Possibile non esiste qualcosa di già pronto?
    Tipo strip_tag ad esempio.



    NOTA: questo programma verrà usato da geni e da dummies, quindi escludo a priori le regulary expression che non accettano i caratteri vietati: nessun dummies lo riscriverebbe corretto e perderei il suo input, preferisco invece averlo impreciso rimuovendo io le lettere sbagliate.

  2. #2
    Non so se è una cosa fattibile ma così di getto io ti suggerirei:

    per ogni carattere della stringa, considera il suo codice ascii; se non rientra tra quello dei caratteri maiuscoli, minuscoli ed accentati lo togli. Anche perché i caratteri alfabetici sono tutti compresi in un certo intervallo di carattere ascii, così come anche i numeri e le lettere accentate, in tal modo devi solo controllare che il carattere ascii del tuo carattere sia compreso in uno di quegli intervalli.

    Non so se ti sono stato di aiuto.
    Ciao.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Si, mi sei stato d'aiuto.
    E' una buona idea, se proprio non esiste un comando specifico è decisamente migliore delle mille sostituzioni che volevo fare io oppure dei mille controlli su ABC... e poi su abc... che volevo fare io.
    Almeno li' faccio un semplice if con il suo valore se >= o <= e sono a posto.

    Grazie!

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.