Heim > Artikel > Backend-Entwicklung > PHP fügt Backslash vor Anführungszeichen hinzu (PHP entfernt Backslash)
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!