2011-01-07 1 views
0

Я посылаю эту строку в запросе GETСпасаясь проблемы

{"foo":[{"bo1":"*","bob":"*"}]} 

, но получить его в PHP, как

{\"foo\":[{\"bo1\":\"*\",\"bob\":"\*\"}]} 

Как я понимаю, как {"foo":[{"bo1":"*","bob":"*"}]} отправить его как часть строки запроса (или как отправить его с помощью метода GET, чтобы получить его правильно)? (Примечание: я не могу его очистить, так как я не контролирую серверную сторону.)

ответ

1

Отключить magic_quotes: это устарело. Если вы не можете, вы всегда можете использовать stripslashes на входе:

$goodStr = stripslashes($_GET['badStr']); 
0

РНР конфигурации позволили magic_quotes_gpc, который вызывает автоматическое экранирование кавычек и двойные кавычки во всех _GET, _POST, и _COOKIE суперглобальных.

Если это не нужно, выключите его. Если да, то вам, вероятно, следует переписать код, который опирается на это поведение, поскольку он обесценивается, и будет удален в будущих версиях php.

Вы должны повернуть его в php.ini, если это возможно.

В любом случае, если вы по каким-то причинам не можете отключить это, просто используйте stripslashes ($ your_json);

0

Если сервер работает на Apache, создайте файл с именем .htaccess в корне сайта (ведущий период является частью имени файла). Вставьте следующий код в файл:

php_flag magic_quotes_gpc Off 

В противном случае вам понадобится использовать stripslashes() каждый раз.

 Смежные вопросы

  • Нет связанных вопросов^_^