In un lavoro che sto’ facendo, un cliente mi fornisce i suoi aggiornamenti attraverso un file in formato csv estratto dall’applicazione Excel della Microsoft. Ora ottenere i dati che servono da questo file prodotto da M$ non è una passeggiata visto che il grande dell’informatica aggiunge dei caratteri per avere il controllo del suo prodotto; quindi qualunque operazione che s’intende fare con questi dati non si può non tenere conto di questa particolarità. Dopo alcune ricerche ho trovato soluzioni più o meno valide ma la più diretta in termini di pestazioni è questa descritta in seguito.
SoluzioneOggi ho avuto un grande lavoro di estrazioni che era pieno di questi caratteri non validi e che avevo bisogno di ripulire. Invece di scorrerli uno a uno e procedere alla rimozione su ogni istanza ho scritto una semplice espressione regolare che prende la stringa di testo e li sostituisce tutti con il nulla.
$output = "Pulire questa stringa dal carattere non ASCII välidó.";
$output = preg_replace(‘/[^(\x20-\x7F)]*/’,”, $output);
echo $output;
?>
[/code]
$cerca = array("’", ‘"’);
$token = array(‘PIPP0’, ‘PLUT0’);
$output = "Pulire questa stringa dal carattere non ASCII välidó.";
$output = str_replace($cerca, $token, $output);
$output = preg_replace(‘/[^(\x20-\x7F)]*/’,”, $output);
$output = str_replace($token, $cerca, $output);
echo $output;
?>
[/code]
Ancora nessun commento