In der PHP-Sprache kann String-Escape und Anti-Escape mit den eigenen von PHP bereitgestellten Funktionen addslashes() und striplashes() erreicht werden.
1. Funktion addslashes()
Funktion addslashes() wird verwendet, um Backslashes() zur angegebenen Zeichenfolge hinzuzufügen.
Das Syntaxformat ist wie folgt:
addslashes(string);
Beschreibung: Gibt eine Zeichenfolge mit Backslashes vor bestimmten Zeichen für Datenbankabfrageanweisungen usw. zurück. Diese Zeichen sind einfache Anführungszeichen ('), doppelte Anführungszeichen ("), Backslash () und NUL (NULL-Zeichen).
2. Funktion „stripslashes()“
<🎜 Das > Die Funktion „stripslashes()“ wird zum Hinzufügen von backslash() und zum Löschen der Funktion „addcslashes()“ verwendet, um zum Original zurückzukehren. Das Syntaxformat lautet wie folgt:Wir haben <🎜 eingeführt ><🎜 früher. >Was ist PHP-Escape- und Anti-Escape-String-Daten?
stripslashes(string);
Das Beispiel für die Verwendung der Funktion „addslashes()“ zum Escapen der Zeichenfolge und die anschließende Verwendung der Funktion „stripslashes()“ zum Wiederherstellen lautet wie folgt:Das Ausgabeergebnis ist wie folgt:
<?php $str = "this url_name = 'PHP中文网'"; echo $str."<br>"; $a = addslashes($str); //对字符串进行转义 echo $a."<br>"; //输出转义后的字符串 $b = stripslashes($a); //对转义后的字符串进行还原 echo $b."<br>"; //输出还原后的字符串 ?>
Vor dem Einfügen von Daten in die Datenbank muss die Funktion addcslashes() verwendet werden, um die Zeichenfolge zu maskieren und
Sonderzeichen<🎜 zu vermeiden > ohne Escapezeichen. Beim Einfügen in die Datenbank ist ein Fehler aufgetreten. Außerdem werden die mit der Funktion „addslashes()“ implementierten Escapezeichenfolgen wiederhergestellt, die Daten müssen jedoch vor dem Einfügen in die Datenbank erneut maskiert werden. Hinweis:this url_name = 'PHP中文网' this url_name = \'PHP中文网\' this url_name = 'PHP中文网'
Cache-Daten in einem bestimmten Bereich zu maskieren, wenn Daten in die Datenbank eingegeben werden sollen, indem der Name O' eingefügt wird. reilly in die Datenbank einfügen, müssen die meisten Datenbanken Folgendes verwenden: O'reilly. Dadurch werden die Daten in die Datenbank eingefügt, ohne dass zusätzliche Escape beim Einfügen von '. addslashes maskiert Sonderzeichen in SQL-Anweisungen, einschließlich ('), ("), () , (NUL) vier Zeichen. Diese Funktion wird verwendet, wenn das DBMS kein eigenes Escape hat Wenn das DBMS jedoch über eine eigene Escape-Funktion verfügt, wird empfohlen, die Originalfunktion zu verwenden. MySQL verfügt beispielsweise über die Funktion mysql_real_escape_string, um SQL zu maskieren. Beachten Sie, dass magic_quotes_gpc vor PHP5.3 standardmäßig aktiviert war und hauptsächlich Addslashes-Vorgänge für $GET, $POST und $COOKIE ausführte. Es besteht also keine Notwendigkeit, Addslashes für diese Variablen wiederholt aufzurufen, da sonst doppelte Escapezeichen auftreten. Allerdings wurde magic_quotes_gpc in PHP5.3 aufgegeben und seit PHP5.4 entfernt. Wenn Sie die neueste Version von PHP verwenden, müssen Sie sich über dieses Problem keine Sorgen machen. Stripslashes ist die Unescape-Funktion von Addslashes.
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der PHP-Escape- und Anti-Escape-String-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!