2010-03-29 15 views
10

La documentación en parse_ini_file indica que no puede utilizar estos caracteres {}|&~![()^" en el valor. ¿Hay alguna forma de escapar de estos caracteres? Necesito usarlos. El escape normal con \ no parece funcionar.PHP: Escape caracteres ilegales en archivos .ini

+0

Cualquier razón por la cual teclas necesitarían estos personajes, especialmente & –

+0

Espero que no estés haciendo esto por seguridad. – rook

Respuesta

13

El manual dice que esos caracteres no se pueden utilizar en el clave - al contrario del valor . Para usarlos en valores, cite dos veces la cadena.

+0

+1, sugiera que 'manual' sea un enlace. –

+2

"Los caracteres {} | & ~! [() ^" No se deben usar en ninguna parte de la clave y tienen un significado especial en el valor. " Está bien no está prohibido, pero no analiza si pongo un() en un valor de cadena de dos comillas. – Martin

+0

¿Qué pasa con las comillas dobles? – Soaku

1

Intente utilizar INI_SCANNER_RAW (de la misma documentación) para scanner_mode:

parse_ini_file ($filename, true, INI_SCANNER_RAW); 
Cuestiones relacionadas