Home > Backend Development > PHP Tutorial > The reason why PHP adds a backslash before the quotation mark and how to remove the backslash in PHP. Three ways to turn off php magic quotation marks_PHP tutorial

The reason why PHP adds a backslash before the quotation mark and how to remove the backslash in PHP. Three ways to turn off php magic quotation marks_PHP tutorial

WBOY
Release: 2016-07-13 10:31:27
Original
1293 people have browsed it

The default PHP command magic_quotes_gpc in the server space provided by general space providers is on, that is, it is turned on. At this time, you can use the stripslashes() function to remove the automatically added backslashes. The usage is: for example, the variable containing the string is $str, then use the stripslashes() function to process the string: stripslashes($str), and the output result will be with the backslashes removed.

If you encounter the output result containing backslashes, you can use the stripslashes() function to process the output content, that is, $str=stripslashes($str), and save the backslashes contained in the output content. Remove.

But there is another problem, that is because the local PHP command magic_quotes_gpc is off. If this function is used, the normal backslashes will also be removed. This is not what we want.

The solution is to use the function get_magic_quotes_gpc() to detect. If it is in the open state, then the backslashes will be removed. If it is in the closed state, the backslashes will not be removed.

The program code is as follows:

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

This article was revised as follows at 10:08:03 on April 25, 2012:

Here are three ways to solve this problem:

1 Modify the PHP configuration file php.ini

This method is only suitable if you have the right to manage the server. If you use virtual space, you can only use the last two methods.

In the PHP configuration file php.ini, set magic_quotes_gpc, magic_quotes_runtime, and magic_quotes_sybase to off. As shown below:

magic_quotes_gpc = Off
 
magic_quotes_runtime = Off
 
magic_quotes_sybase = Off
Copy after login

2 Use .htaccess file

This method only works if the server supports htaccess, which is generally supported by current servers

Add the following sentence to the .htaccess file in the program directory:

php_flag magic_quotes_gpc Off
Copy after login

3 Block
in code
This method is the most portable and can be used as long as it supports PHP without considering the server configuration.

Add the following code

at the beginning of all PHP files
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);
}
Copy after login

Articles you may be interested in

  • Js address bar special effects (displays the size of all linked images in the page and the height of the current browser)
  • Analyze the reasons for the continuous decrease in Baidu index volume and how to increase Baidu index volume
  • How to clear the html format and remove the spaces in the text and then intercept the text in php
  • Summary of the method of getting the time interval in php, php display Comprehensive list of forum posting time interval methods
  • Competition of PHP’s four methods of serializing variables in PHP
  • PHP records the source of the search engine and the keywords entered in the search
  • The difference between adding the static keyword before variables and functions in php
  • Summary of the reasons and solutions for slow query of mysql server

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/764083.htmlTechArticleThe default PHP command magic_quotes_gpc in the server space provided by general space providers is on, that is, it is turned on. At this time, you can use the stripslashes() function to remove the automatically added backslashes. Use...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template