2010-03-29 12 views
10

W dokumentacji na temat parse_ini_file podano, że nie można użyć tych znaków {}|&~![()^" w wartości. Czy istnieje sposób na uniknięcie tych znaków? Muszę ich użyć. Normalne uciekanie z \ nie działa.PHP: Unikaj niedozwolonych znaków w plikach .ini

+0

Każdy powód klucze musiałby te znaki, zwłaszcza ze? –

+0

Mam nadzieję, że nie robisz tego dla bezpieczeństwa. – rook

Odpowiedz

13

manual mówi te znaki nie mogą być użyte w klucza - przeciwieństwo wartości. Aby użyć ich w wartościach, należy dwukrotnie zacytować ciąg znaków.

+0

+1, zasugeruj, aby "ręczny" był linkiem. –

+2

"Znaki {} | & ~! [() ^" Nie mogą być używane nigdzie w kluczu i mają specjalne znaczenie w wartości. " Okay nie jest zabronione, ale nie parsuje, jeśli włożę() wartość cudzysłowu o podwójnej wartości: – Martin

+0

Co powiesz na podwójne cudzysłowy? – Soaku

1

Spróbuj użyć INI_SCANNER_RAW (z tej samej dokumentacji) dla scanner_mode:

parse_ini_file ($filename, true, INI_SCANNER_RAW); 
Powiązane problemy