2010-03-29 26 views
10

La documentazione su parse_ini_file indica che non è possibile utilizzare questi caratteri {}|&~![()^" nel valore. C'è un modo per sfuggire a questi caratteri? Ho bisogno di usarli. La normale fuga con \ non sembra funzionare.PHP: escape caratteri illegali in file .ini

+0

Qual è il motivo per cui le chiavi avrebbero bisogno di questi personaggi, in particolare &? –

+0

Spero che non lo stiate facendo per sicurezza. – rook

risposta

13

Il manual dice quei caratteri non possono essere utilizzati nel chiave - l'opposto del valore. Per usarli in valori, citare la stringa doppiamente.

+0

+1, suggerisci di fare 'manual' un collegamento. –

+2

"I caratteri {} | & ~! [() ^" Non devono essere utilizzati in qualsiasi punto della chiave e hanno un significato speciale nel valore. " Ok, non vietato ma non viene analizzato se inserisco un() in un valore stringa a virgola doppia – Martin

+0

Che dire di virgolette doppie? – Soaku

1

Provare a utilizzare INI_SCANNER_RAW (dalla stessa documentazione) per scanner_mode:

parse_ini_file ($filename, true, INI_SCANNER_RAW); 
Problemi correlati