Skip to main content

PHP – Come eliminare i caratteri non validi da un file o stringa XML in formato UTF-8

Ieri ho scritto due righe su un metodo PHP per eliminare l’header e il footer di un file XML.P7M firmato elettronicamente (a patto che sia in formato CAdES): piuttosto brutto a vedersi, poco ma sicuro, ma se non altro faceva e fa il suo lavoro.

Oggi verserò un altro tributo alle funzioni “brutte ma (almeno) funzionanti” pubblicando anche la funzione che ho sviluppato a corredo della precedente per ripulire il contenuto del suddetto file da caratteri non validi, così da poter utilizzare la stringa risultante come parametro per la creazione di di un oggetto SimpleXML:

Il codice di cui sopra è fortemente basato sul contenuto di due risposte presenti sul sito StackOverflow, per la precisione questa e questa: riconoscimenti e ringraziamenti vanno pertanto ai rispettivi autori. Come è possibile vedere, si tratta di una regexp che elimina tutti i caratteri non UTF-8, seguita da un approccio iterativo char-by-char che elimina tutti i caratteri non considerati validi in un contenuto XML. Nello specifico, ho dovuto utilizzare entrambi gli approcci poiché i file XML che dovevo processare erano affetti da entrambi i problemi.

Come ho detto sopra, si tratta di un metodo piuttosto brutto a vedersi e altamente inefficiente, probabilmente persino più di quello pubblicato in precedenza… Ma nonostante questo si è rivelato perfettamente adatto allo scopo, motivo per cui – vista l’esigua quantità di tempo a disposizione – non mi sono fatto scrupoli a utilizzarlo, almeno come workaround temporaneo in attesa di tempi migliori.

A tal proposito, se a qualcuno venisse l’idea (e la voglia) di fare di meglio, accetterò volentieri il suo suggerimento…. Fino ad allora, direi che il “double-clawed hammer” del PHP ha colpito ancora!

Prometto solennemente di non usarlo più per un pò… 🙂

RELATED POSTS

Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane.

Close
Leggi articolo precedente:
Come recuperare il codice Product Key di Windows 10 da BIOS / UEFI / Registro di Sistema

Vi ricordate di quando i negozi di informatica vendevano i PC con quel bell'adesivo olografico contenente il Product Key / codice...

Chiudi