Duuunque innanzitutto grazie per la partecipazione.
Andiamo con ordine:
usecram prova a eliminare anche il \n e prova a vedere cosa viene fuori
Ovviamente avevo già provato
Codice PHP:
$array = str_replace ("\r\n", "", file (configurazione.txt));
Elimina la terminazione di riga quindi accade questo
<tipo>
contenuto su più righe
</tipo>
Ma io le terminazioni di riga le voglio mantenere.
Per completezza ho provato a togliere solo \n
Codice PHP:
$array = str_replace ("\n", "", file (configurazione.txt));
Ed ecco il risultato:
<tipo>
contenutosu piùrighe
</tipo>
Spuntano i quadratini neri (chi usa Mozilla per visualizzare questo 3d non li vede). Nella textarea del browser però le terminazioni di riga si conservano.
Detto questo
posta comunque il codice che usi per scrivere il file perché il problema è li
Con questa funzione estraggo i dati dal file txt
Codice PHP:
function estraiVariabiliConfigurazione () {
global $indirizzo_configurazione, $conferma_inscrizione, $conferma_cancellazione, $benvenuto,
$congedo, $firma;
(file_exists ($indirizzo_configurazione))?
$array_configurazione = str_replace ("\r", "", file ($indirizzo_configurazione)):
die ("<p class=\"segnalazione\">Impossibile trovare il file di configurazione</p>");
$conferma_inscrizione = recuperaDati ($array_configurazione, "confermaInscrizione");
$conferma_cancellazione = recuperaDati ($array_configurazione, "confermaCancellazione");
$benvenuto = recuperaDati ($array_configurazione, "benvenuto");
$congedo = recuperaDati ($array_configurazione, "congedo");
$firma = recuperaDati ($array_configurazione, "firma");
}
recuperaDati() si occupa di reperire ciò che si trova ad esempio tra <firma> e </firma>
Poi visualizzo le variabili in textarea affinché l'utente possa modificare i valori (es: <textarea>$conferma_inscrizione</textarea>)
Quindi ricompongo i dati provenienti dal form per riscrivere il file di testo in questo modo:
Codice PHP:
function riscriviVariabiliConfigurazione () {
global $indirizzo_configurazione;
$array_configurazione[0] = "<confermaInscrizione>\n".trim (stripslashes ($_POST['conferma_inscrizione']))."\n</confermaInscrizione>";
$array_configurazione[1] = "<confermaCancellazione>\n".trim (stripslashes ($_POST['conferma_cancellazione']))."\n</confermaCancellazione>";
$array_configurazione[2] = "<benvenuto>\n".trim (stripslashes ($_POST['benvenuto']))."\n</benvenuto>";
$array_configurazione[3] = "<congedo>\n".trim (stripslashes ($_POST['congedo']))."\n</congedo>";
$array_configurazione[4] = "<firma>\n".trim (stripslashes ($_POST['firma']))."\n</firma>";
$file = fopen ($indirizzo_configurazione, "w");
foreach ($array_configurazione as $valore) {
fwrite ($file, "$valore\n");
}
fclose ($file);
}
Direi che è tutto. Ripeto che tutto funziona ma non c'è gusto senza sapere il perché. Confido in voi