>  기사  >  백엔드 개발  >  PHP는 따옴표 앞에 백슬래시를 추가합니다(PHP는 백슬래시를 제거합니다).

PHP는 따옴표 앞에 백슬래시를 추가합니다(PHP는 백슬래시를 제거합니다).

不言
不言원래의
2018-06-06 10:51:205302검색

PHP에서 따옴표 앞에 백슬래시를 추가하는 이유와 PHP에서 백슬래시를 제거하는 방법 php 매직 따옴표를 끄는 세 가지 방법

일반 공간 제공자가 제공하는 서버 공간의 기본 PHP 명령인 Magic_quotes_gpc가 켜져 있다는 것입니다. , 켜져 있습니다. 이때 자동으로 추가된 백슬래시를 제거하려면 Stripslashes() 함수를 사용하면 됩니다. 사용법은 다음과 같습니다. 예를 들어 문자열을 포함하는 변수는 $str입니다. 그런 다음 Stripslashes() 함수를 사용하여 문자열을 처리합니다. Stripslashes($str) 출력 결과는 백슬래시가 제거된 상태가 됩니다.

백슬래시가 포함된 출력 결과가 나타나면, 스트립슬래시() 함수를 사용하여 출력 내용, 즉 $str=stripslashes($str)를 처리할 수 있습니다.

하지만 또 다른 문제가 있습니다. 이는 로컬 PHP 명령인 Magic_quotes_gpc가 꺼져 있기 때문입니다. 이 함수를 사용하면 일반 백슬래시도 제거됩니다. 이것은 우리가 원하는 것이 아닙니다.

해결책은 get_magic_quotes_gpc() 함수를 사용하여 열린 상태인 경우 백슬래시가 제거되고 닫힌 상태인 경우 백슬래시가 제거되지 않습니다.

프로그램 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

 $str=$_POST["str"];           //读取str的内容赋值给$str变量 
 if(get_magic_quotes_gpc()){   //如果get_magic_quotes_gpc()是打开的 
     $str=stripslashes($str);  //将字符串进行处理 
 }

본 글은 2012년 4월 25일 10:08:03에 다음과 같이 수정되었습니다.

여기에는 세 가지 방법이 있습니다. 이 문제를 해결하세요:

1. PHP 구성 파일 php.ini를 수정하세요
이 방법은 서버 관리 권한이 있는 경우에만 적합합니다. 가상 공간을 사용하는 경우 마지막 두 가지 방법만 사용할 수 있습니다.
PHP 구성 파일 php.ini에서 Magic_quotes_gpc, Magic_quotes_runtime 및 Magic_quotes_sybase를 모두 꺼짐으로 설정하세요. 아래와 같이

코드를 복사하세요 코드는 다음과 같습니다.

magic_quotes_gpc = Off 
magic_quotes_runtime = Off 
magic_quotes_sybase = Off

2 .htaccess 파일을 사용하세요
이 방법은 서버가 현재 서버에서 일반적으로 지원하는 htaccess를 지원하는 경우에만 작동합니다
프로그램에서 .htaccess 파일에 다음 문장을 추가합니다.

3 Shield

이 방법은 서버 구성을 고려할 필요가 없습니다. PHP를 지원하는 한. 모든 PHP 파일의 시작 부분에 다음 코드를 추가하세요

코드 복사

코드는 다음과 같습니다.

 if(get_magic_quotes_gpc()){ 
     function stripslashes_deep($value){ 
         $value=is_array($value)?array_map('stripslashes_deep',$value):stripslashes($value); 
         return $value; 
     } 
     $_POST=array_map('stripslashes_deep',$_POST); 
     $_GET=array_map('stripslashes_deep',$_GET); 
     $_COOKIE=array_map('stripslashes_deep',$_COOKIE); 
     $_REQUEST=array_map('stripslashes_deep',$_REQUEST); 
 }
관련 권장 사항:

PHP 인용문 앞에 백슬래시를 추가하고 제거하는 방법

위 내용은 PHP는 따옴표 앞에 백슬래시를 추가합니다(PHP는 백슬래시를 제거합니다).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.