Как устранить обратную косую черту в PHP


Я создал свой xml-файл с помощью javascript и правильно показываю его с помощью такого предупреждения:

<Voitures>
   <voiture par1="4" par2="1" par3="0"/>
   <voiture par1="3" par2="0" par3="0"/>
</Voitures>

Но проблема в том, что когда я отправляю его с помощью ajax в php-файл, я получаю такой результат:

<Voitures>
   <voiture par1=\"4\" par2=\"1\" par3=\"0\"/>
   <voiture par1=\"3\" par2=\"0\" par3=\"0\"/>
</Voitures>

Спасибо

Author: Mils, 2012-09-08

1 answers

В вашей конфигурации PHP включены магические кавычки, что является устаревшей настройкой, которую больше никто не должен использовать. Он был удален в PHP 5.4. Отключите его сейчас, или вы рискуете написать код, который будет вести себя неправильно при обновлении до PHP 5.4.

Если это невозможно, используйте stripslashes() о ценности, прежде чем делать с ней что-либо еще. Делайте это только в том случае, если вы действительно не можете отключить магические кавычки. Разработка программного обеспечения PHP с волшебными кавычками включено - это очень, очень плохая идея.


Если вы пытаетесь написать хороший код и быть уверенным в будущем, поместите это в начало каждого файла или в какой-нибудь общий включаемый файл, который используется везде:

if (get_magic_quotes_gpc()) {
    trigger_error("Magic quotes are enabled; please disable them.", E_USER_ERROR);
}

Это приведет к тому, что ваше приложение просто откажется запускаться, если включены магические кавычки.

Если у вас есть возможность, отправьте файл .htaccess с вашим приложением, который содержит следующее:

php_flag magic_quotes_gpc Off

Это, если возможно, отключит магические кавычки для всего вашего приложения когда он деполируется на Apache. Если конфигурация Apache не разрешает директивы php_flag в файлах .htaccess, это приведет к ошибке HTTP 500, что намного лучше, чем позволить вашему приложению работать с включенными магическими кавычками.

 8
Author: cdhowie, 2012-09-07 21:19:08