Dans le langage PHP, l'échappement et l'anti-échappement de chaînes peuvent être réalisés en utilisant les propres fonctions addlashes() et stripslashes() fournies par PHP.
1. Fonction addslashes()
La fonction addslashes() est utilisée pour ajouter des barres obliques inverses () à la chaîne spécifiée.
Le format de syntaxe est le suivant :
addslashes(string);
Description : Renvoie une chaîne avec des barres obliques inverses ajoutées devant certains caractères pour les instructions de requête de base de données, etc. Ces caractères sont des guillemets simples ('), des guillemets doubles ("), des barres obliques inverses () et NUL (caractère NULL).
2. Fonction stripslashes()
<🎜 Le > La fonction stripslashes() est utilisée pour ajouter une barre oblique inverse() et supprimer la fonction addcslashes() pour revenir à l'original Le format de syntaxe est le suivant :stripslashes(string);
Le résultat de sortie est comme suit :
<?php $str = "this url_name = 'PHP中文网'"; echo $str."<br>"; $a = addslashes($str); //对字符串进行转义 echo $a."<br>"; //输出转义后的字符串 $b = stripslashes($a); //对转义后的字符串进行还原 echo $b."<br>"; //输出还原后的字符串 ?>
this url_name = 'PHP中文网' this url_name = \'PHP中文网\' this url_name = 'PHP中文网'
caractères spéciaux sans échappement Une erreur s'est produite lors de l'insertion dans la base de données. De plus, les chaînes échappées implémentées à l'aide de la fonction addlashes() sont restaurées à l'aide de la fonction stripslashes(), mais les données doivent être à nouveau échappées avant d'être insérées dans la base de données. Dans les fichiers cache, la fonction addcslashes() est généralement utilisée pour échapper la valeur des données du cache dans une plage spécifiée lorsque les données doivent être saisies dans la base de données, en insérant le nom O'reilly dans. la base de données, cela nécessite de l'échapper. La plupart des bases de données utilisent comme caractère d'échappement : O'reilly Cela permet de mettre les données dans la base de données sans insérer de . supplémentaire. Lorsque la directive magic_quotes_sybase est activée, cela signifie que ' sera utilisé pour. s'échappe lors de l'insertion de '.
addslashes échappe aux caractères spéciaux dans les instructions SQL, notamment ('), ("), () , (NUL) quatre caractères. Cette fonction est utilisée lorsque le SGBD n'a pas son propre échappement. Cependant, si le SGBD a sa propre fonction d'échappement, il est recommandé d'utiliser la fonction d'origine. Par exemple, MySQL a la fonction mysql_real_escape_string pour échapper à SQL. Notez qu'avant PHP5.3, magic_quotes_gpc était activé par défaut, ce qui effectuait principalement des opérations d'ajout de barres obliques sur $GET, $POST et $COOKIE, il n'est donc pas nécessaire d'appeler à plusieurs reprises des ajouts de barres obliques sur ces variables, sinon un double échappement se produirait. Cependant, magic_quotes_gpc a été abandonné dans PHP5.3 et a été supprimé depuis PHP5.4. Si vous utilisez la dernière version de PHP, vous n'avez pas à vous soucier de ce problème. stripslashes est la fonction d'échappement des addlashes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!