[PHP] Generare nomi dei file con lettere minuscole e vocali senza accenti

angzicc

Nuovo Utente
5 Giu 2018
3
0
1
Salve a tutti,
sto lavorando su uno script php che mi genera pagine html da un template e un csv.

Attualmente il preg_replace mi va a sostituire apostrofi e spazi con un trattino "-" e funziona benissimo.

PHP:
$filename = preg_replace(array('/(\'|&#0*39;)/', '/\s+/'), array('-', '-'), $name);

Non riesco però ad aggiungere altre due regole: i file generati devono avere solo lettere minuscole e vocali senza accenti. Ho provato in moltissimi modi ma non mi riesce! Grazie in anticipo a chiunque riuscirà ad aiutarmi!
 
Ultima modifica:
Fai l'hash del nome del file.
Codice:
$nomefile = hash('md5', $nomefile);
avrai nomi univoci, poi se vuoi ci aggiungi anche data e ora di creazione alla fine, prima dell'estensione se prevista.
 
Prova questo.
PHP:
/**
     * Metodo statico per pulire una qualsiasi string
     * @param string $input String in input da parsare
     *
     * @return mixed Stringa pulita
     */
    public static function clean_string($input){
        $string = str_replace(' ', '-', $input);
        return strtolower(preg_replace('/[^A-Za-z0-9\-]/', '', $string));
    }
 

Discussioni simili