Convertire un testo in array di righe con la costante PHP_EOL
Open Source, PHP, Tips & tricks 9 giugno 2008, 8:15
Quando si scrivono applicazioni per il web in PHP capita spessissimo di dovere trattare i dati contenuti in un file di testo. Il metodo migliore per acquisire dati di questo tipo è senz’altro la funzione `file`, che restituisce appunto un array contenente tutte le righe del file di testo.
Capita però altrettanto spesso di avere a che fare con script PHP datati o realizzati per girare in situazioni anomale, come ad esempio server embedded che mettono a disposizione un range limitato di funzioni PHP, oppure ancora di script che elaborano le righe del testo nel momento stesso in cui lo generano.
In questi casi si può ricorrere a una sintassi meno immediata ma altrettanto efficace, ricorrendo alla funzione `explode` e alla costante di sistema PHP_EOL.
Ecco un semplice esempio:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | < ?php $txtMessage = <<<EOD RIGA #1 RIGA #2 RIGA #3 RIGA #4 EOD; $aLines = explode(PHP_EOL, $txtMessage); echo "<table border=\"1\">\n" .PHP_EOL; foreach ($aLines as $strLine) { echo "<tr>\n".PHP_EOL."<td>\n".$strLine."</td>\n".PHP_EOL."</tr>\n".PHP_EOL; } echo "\n" .PHP_EOL; ?> |
Il risultato sarà il seguente:
| RIGA #1 |
| RIGA #2 |
| RIGA #3 |
| RIGA #4 |
La costante PHP_EOL equivale al carattere di end of line del sistema operativo su cui stiamo elaborando lo script: ricorrere a questa costante non migliora soltanto la leggibilità del nostro programma, ma anche la sua portabilità .














