Heim  >  Artikel  >  Backend-Entwicklung  >  PHP fügt Backslash vor Anführungszeichen hinzu (PHP entfernt Backslash)

PHP fügt Backslash vor Anführungszeichen hinzu (PHP entfernt Backslash)

不言
不言Original
2018-06-06 10:51:205302Durchsuche

Der Grund, warum PHP einen Backslash vor dem Anführungszeichen hinzufügt und wie man den Backslash in PHP entfernt. Drei Möglichkeiten, PHP Magic Quotes zu deaktivieren

Der Standard-PHP-Befehl magic_quotes_gpc im Serverbereich wird vom allgemeinen Bereich bereitgestellt Anbieter ist eingeschaltet. Zu diesem Zeitpunkt können Sie die Funktion „stripslashes()“ verwenden, um die automatisch hinzugefügten Backslashes zu entfernen. Die Verwendung ist: Beispielsweise ist die Variable, die die Zeichenfolge enthält, $str. Verwenden Sie dann die Funktion Stripslashes(), um die Zeichenfolge zu verarbeiten: Stripslashes($str). Das Ausgabeergebnis wird ohne Backslashes sein.

Wenn Sie auf das Ausgabeergebnis stoßen, das Backslashes enthält, können Sie den Ausgabeinhalt, d. h. $str=stripslashes($str), mit der Funktion Stripslashes() verarbeiten und speichern.

Aber es gibt noch ein anderes Problem, nämlich, dass der lokale PHP-Befehl magic_quotes_gpc deaktiviert ist. Wenn diese Funktion verwendet wird, wird der normale Backslash entfernt. Das ist nicht das, was wir wollen.

Die Lösung besteht darin, die Funktion get_magic_quotes_gpc() zu verwenden, um zu erkennen, ob es sich im geöffneten Zustand befindet. Wenn es sich im geschlossenen Zustand befindet, wird der Backslash nicht entfernt.

Der Programmcode lautet wie folgt:

Code kopieren Der Code lautet wie folgt:

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

Dieser Artikel wurde um 10:08 Uhr wie folgt überarbeitet :03 am 25. April 2012:

Die folgenden drei Methoden, um dieses Problem zu lösen:

1. Ändern Sie die PHP-Konfigurationsdatei php.ini
Dies Die Methode ist nur für diejenigen geeignet, die über die Berechtigung zur Verwaltung des Servers verfügen. Wenn Sie in diesem Fall virtuellen Speicherplatz verwenden, können Sie nur die letzten beiden Methoden verwenden.
Setzen Sie magic_quotes_gpc, magic_quotes_runtime und magic_quotes_sybase in der PHP-Konfigurationsdatei php.ini alle auf „Off“. Wie unten gezeigt:

Code kopieren Der Code lautet wie folgt:

magic_quotes_gpc = Off 
magic_quotes_runtime = Off 
magic_quotes_sybase = Off

2 .htaccess-Datei verwenden
Diese Methode ist nur verfügbar wenn der Server htaccess unterstützt In diesem Fall unterstützen aktuelle Server im Allgemeinen
Fügen Sie der .htaccess-Datei im Programmverzeichnis den folgenden Satz hinzu:

php_flag magic_quotes_gpc Off

3 Shield im Code
Diese Methode ist die portabelste. Sie müssen die Serverkonfiguration nicht berücksichtigen. Sie kann verwendet werden, solange sie PHP unterstützt.
Fügen Sie den folgenden Code am Anfang aller PHP-Dateien hinzu

Kopieren Sie den Code Der Code lautet wie folgt:

 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); 
 }

Verwandte Empfehlungen:

PHP-Anführungszeichen So fügen Sie Backslashes vor

hinzu und entfernen sie

Das obige ist der detaillierte Inhalt vonPHP fügt Backslash vor Anführungszeichen hinzu (PHP entfernt Backslash). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn