2012-09-07 3 views
4

에 백 슬래시를 제거하기 위해 어떻게 자바 스크립트 내 xml 파일을 건설하고이 같은 경고와 함께 제대로 보여는 PHP

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

그러나 문제는 내가 얻을 PHP 파일로 아약스와 함께 보낼 때입니다 이 결과 :

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

당신의 PHP 구성이 아무도 더 이상 사용되지 않는다는 것을 사용되지 않는 설정 인 활성화 magic quotes있다

+10

당신은 아마도 [magic_quotes] (http://php.net/magic_quotes)를 활성화 시켰습니다. 즉, 당신은 오래된/진절머리 나 잘못된 PHP 버전을 사용 중임을 의미합니다. –

답변

8

감사합니다. 그것은 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); 
} 

이를 마법 인용 부호를 사용하면 응용 프로그램이 단순히 실행을 거부합니다. ,

php_flag magic_quotes_gpc Off 

이 의지 할 수있는 경우가 아파치에 depolyed 때, 전체 응용 프로그램에 대한 마법 따옴표를 사용하지 :

는 옵션이있는 경우,이 포함 된 응용 프로그램과 .htaccess 파일을 제공. 아파치 설정이 지시어를 .htaccess 개의 파일에 허용하지 않으면 HTTP 500 오류가 발생합니다. 이는 응용 프로그램이 마술 따옴표를 활성화 한 상태로 실행하는 것보다 훨씬 더 좋습니다.

+0

일까요? PHP 5.4가 이미 릴리스되었습니다. 이제는 언어가 좀 덜 진절머리 나게되어서 기쁩니다. – sgroves

+0

@sgroves 아, 나는 몰랐다. 나는 내 방식대로 들지 않는 프로그래밍 언어를 사용하여 바빴다. : S "내 것"이라는 구두점을 제거하기 위해 제 대답을 업데이트했습니다. – cdhowie

+0

stripslashes()로 괜찮습니다. 매우 고마워요. – Mils