亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Table des matières
Cordons à double trempage: là où s'échapper est importante
Cordons à un seul point: échappement minimal
Heredoc et NowDoc: flexibilité de cordes prolongée
Conseils pratiques et pièges communs
Maison développement back-end tutoriel php Ma?triser les littéraux de cha?nes: les nuances des séquences d'évasion PHP

Ma?triser les littéraux de cha?nes: les nuances des séquences d'évasion PHP

Aug 01, 2025 am 07:38 AM
PHP Escape Characters

Les doubles citations interprètent les évasions et les variables, les citations simples gardent les choses littérales; Utilisez des cha?nes à double qualité pour le contenu dynamique avec des variables et des séquences d'échappement comme \ n ou $, utilisez un seul quadrillage pour éviter l'analyse involontaire, appliquez Heredoc pour les cha?nes interpolées multi-lignes et NowDoc pour les littéraux multi-lignes, et échappent toujours correctement à des dossiers de fichiers ou à utiliser Directory_separator pour éviter les erreurs.

Ma?triser les littéraux de cha?nes: les nuances des séquences d'évasion PHP

Lorsque vous travaillez avec des littéraux de cha?nes dans PHP, la compréhension des séquences d'échappement est essentielle, en particulier lors de la gestion du contenu dynamique, des chemins de fichier ou du formatage de sortie. Bien que la manipulation des évasions par PHP puisse sembler simple au début, des différences subtiles entre les cordes à quotté et à double qualité peuvent trébucher même des développeurs expérimentés.

Ma?triser les littéraux de cha?nes: les nuances des séquences d'évasion PHP

Cordons à double trempage: là où s'échapper est importante

En PHP, les cha?nes à double quz interprètent les séquences d'évasion. Cela signifie que certaines combinaisons de caractères commen?ant par une barre oblique inverse ( \ ) sont traitées et remplacées par des valeurs spéciales.

Les séquences d'échappement courantes dans les cha?nes à double cité comprennent:

Ma?triser les littéraux de cha?nes: les nuances des séquences d'évasion PHP
  • \" - Insère une double citation littérale
  • \$ - Empêche l'interpolation variable (utile si vous avez besoin d'un $ littéral)
  • \\ - insère une seule barre oblique inverse
  • \n - Newline
  • \r - retour en voiture
  • \t - onglet
  • \v - Onglet vertical
  • \e - caractère d'échappement (ASCII 27)
  • \0 à \377 - codes de caractères octaux
  • \x00 à \xFF - codes de caractères hexadécimaux
  • \u{0000} à \u{10FFFF} - Unicode CodePoints (si activé)

Par exemple:

 echo "Hello \ Tworld \ n"; // Sorties: Hello World
                       // (sur une nouvelle ligne)

Ce comportement rend les cha?nes à double qualité puissantes pour le formatage, mais signifie également que vous devez être prudent lorsque vous ne voulez pas d'interprétation, comme lors de la rédaction de chemins de fichier Windows ou de modèles regex.

Ma?triser les littéraux de cha?nes: les nuances des séquences d'évasion PHP

Cordons à un seul point: échappement minimal

Les cordes à un seul point sont plus littérales. La plupart des séquences d'échappement sont ignorées. Les deux seules exceptions sont:

  • \\ - devient une barre de barre littérale
  • \' - devient une citation unique littérale

Tout le reste est traité comme un texte brut:

 echo 'hello \ nworld'; // Sorties: Hello \ nworld

Aucune nouvelle ligne n'est insérée. Cela rend les cha?nes à un seul QUIodes idéales lorsque vous souhaitez éviter une interprétation involontaire ou des frais généraux de performance de l'analyse.

Donc, si vous incorporez HTML ou JavaScript qui contient de nombreux cotations $ ou \ , aidez à éviter l'encombrement de barreaux réformes.

Heredoc et NowDoc: flexibilité de cordes prolongée

Pour les cordes multi-lignes, PHP propose heredoc et nowdoc .

  • Heredoc se comporte comme des cordes à double cité (les variables et les évasions sont traitées).
  • NOWDOC se comporte comme des cha?nes à quotté unique (pas d'interprétation).

Exemple:

 $ name = "Alice";

echo <<< eot
Bonjour $ name \ n
Comment vas-tu?
Eot;

// Sortie: Bonjour Alice \ n
// Comment vas-tu?

Attendez - note \n n'est pas devenu une nouvelle ligne? C'est parce que par défaut, Heredoc fait analyser les séquences d'évasion, mais seulement si elles sont valides. Dans ce cas, \n est valide, mais selon le contexte (comme s'il est suivi d'un chiffre), il peut être interprété ou non. Pour assurer une réelle nouvelle ligne, utilisez une pause de ligne réelle ou PHP_EOL .

Meilleur exemple avec une nouvelle ligne explicite:

 echo <<< eot
Bonjour $ nom
Comment vas-tu?
Eot;

NOWDOC évite entièrement cela:

 echo <<< &#39;eot&#39;
Bonjour $ name \ n
Aucune variable ou échappe ici.
Eot;

Cela stimule la cha?ne exactement comme écrit.

Conseils pratiques et pièges communs

  • Utilisez des devis uniques lorsque vous n'avez pas besoin de variables ou d'évasions - c'est légèrement plus rapide et plus propre.
  • Escape $ en cordes à double triché si vous voulez un signe du dollar littéral: "The cost is \$10"
  • Attention à la confusion octale : "\40" est un espace (octal 40), mais "\8" ou "\9" devient juste "8" ou "9" car 8 et 9 ne sont pas des chiffres octaux valides. PHP laisse en silence les séquences octales non valides.
  • Unicode s'échappe nécessite l'indicateur u dans certains contextes (comme les fonctions preg ), mais dans les cha?nes, \u{...} ne fonctionne que dans le double triché ou Heredoc si la prise en charge Unicode est activée (par défaut en php moderne).
  • Breflashs dans les chemins de fichier : sur Windows, utilisez des barres baisses en avant / ou double backslashs \\ dans des cha?nes à double quz. Ou mieux - utilisez DIRECTORY_SEPARATOR ou realpath() pour éviter les problèmes.

Fondamentalement, rappelez-vous:
Citations doubles → Interpréter les évasions et les variables.
Citations simples → Presque tout est littéral.

Ce n'est pas complexe, mais le faire mal conduit à des bogues difficiles à repérer, comme les citations manquantes dans les attributs HTML ou la sortie JSON cassée.

Alors choisissez à bon escient vos citations.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Navigation de l'enfer de barreaux arrière: une plongée profonde dans `preg_quote ()` et regex échappant Navigation de l'enfer de barreaux arrière: une plongée profonde dans `preg_quote ()` et regex échappant Jul 26, 2025 am 09:51 AM

preg_quote () EscapesRegex-SpecialCharacters, y compris BackslashesandTheDelimiter, totrareathemasliterals; 2.AvoidDouble-EscapingByPassingRawstrings (par exemple, ?c: \ Path?) Sanspre-escapedbackslasheshes;.

échappez le comportement des personnages dans les syntaxes Heredoc et Nowdoc de PHP échappez le comportement des personnages dans les syntaxes Heredoc et Nowdoc de PHP Jul 26, 2025 am 09:45 AM

Heredoc gère les séquences d'interpolation variable et d'évasion de base telles que \ n, \ t, \\, \ $, mais ne traite pas \ "ou \ ', tandis que NowDoc n'effectue pas des variables d'interpolation et de tout traitement d'évasion. Tous les contenus, y compris \ n et les variables, sont devenues littéralement; 1. Les variables telles que le nom $ seront remplacées comme indique comme indique comme des nouvelles; 3. Aucune citation d'évasion n'est requise pour les deux;

Single vs Quotes doubles: un guide définitif pour échapper au comportement des personnages Single vs Quotes doubles: un guide définitif pour échapper au comportement des personnages Jul 28, 2025 am 04:44 AM

INBASH, SOMIQUOTESTERATALLCHARACTERSLITERALLEMENT WHILEDUBLEQUOTESALOWVARIABLE EXPANSIONANDLIMITéE

Modèles d'échappement PHP moderne pour un code sécurisé et propre Modèles d'échappement PHP moderne pour un code sécurisé et propre Jul 26, 2025 am 09:51 AM

Toujours EscapeOutputUsingContext-SpecificMethods: htmlSpecialCars () forhtmlContentAndAtTributes, rawurlencode () forurls, andjson_en code () withjson_hex_tag, json_hex_apos, json_hex_quot, etjson_unescaped_unicodeforjavascrip

L'art de la barre de bar: démystifier les personnages d'échappement dans les expressions régulières PHP L'art de la barre de bar: démystifier les personnages d'échappement dans les expressions régulières PHP Jul 27, 2025 am 03:18 AM

TomasterbackslashesInphpregex, Comprendre les émeutes de PARSIGNOCCUR: PhprocesseSESCACESEENCESFIRST, ThentheregexEnginedoes; 2.UsesingslequotesForregexpatternStoAvoidPhpinterpretingsapeslike \ BASBABOTSPACE; 3.Indoubleque, doubléthebackslasslashes (.

Une analyse comparative: `AddsLashes ()` contre `HtmlSpecialChars ()` contre `mysqli_real_escape_string ()` Une analyse comparative: `AddsLashes ()` contre `HtmlSpecialChars ()` contre `mysqli_real_escape_string ()` Jul 27, 2025 am 04:27 AM

AddSlashes () doit être évité pour les évasions SQL car il n'est pas s?r et non protégé de l'injection SQL; htmlSpecialChars () est utilisé pour la sortie HTML pour empêcher les attaques XSS; MySQLI_REAL_ESCACE_STRING () peut être utilisé pour les échappements de cha?nes dans les requêtes MySQL, mais n'est qu'une option sous-optimale lorsque les instructions de prétraitement ne peuvent pas être utilisées. 1. AddSlashes () est obsolète et dangereux et ne doit pas être utilisé pour l'évasion SQL dans les applications modernes; 2. HtmlSpecialCars () doit être utilisé lors de la sortie de l'entrée de l'utilisateur et de la sortie en HTML pour empêcher les XS; 3. Mysqli_real_escape_string (

Au-delà de `Addslashes () ': échappement contextuel pour une défense d'injection SQL robuste Au-delà de `Addslashes () ': échappement contextuel pour une défense d'injection SQL robuste Jul 26, 2025 am 02:55 AM

La protection contre l'injection SQL ne peut pas compter sur Addslashes () car elle ne traite pas le codage multi-octets et échappe uniquement aux caractères finis, qui est facilement contourné; Les instructions de prétraitement (telles que les requêtes paramétrées pour PDO ou MySQLI) doivent être utilisées pour séparer les données de la logique SQL pour s'assurer que l'entrée n'est pas analysée en code; Si le prétraitement ne peut pas être utilisé, les fonctions d'échappement spécifiques à la base de données (telles que Real_escape_String et définition du jeu de caractères correct), l'identifiant de la liste blanche ou de la marque de devis, le casting d'entrée entier et d'autres méthodes doivent être utilisés en fonction du contexte pour atteindre la défense hiérarchique.

L'escaper échappé: manipuler les barres de barres littérales dans les cha?nes et les chemins PHP L'escaper échappé: manipuler les barres de barres littérales dans les cha?nes et les chemins PHP Jul 26, 2025 am 09:35 AM

BackslashesgomissingInphpBecausetheyareTreatEdascaptectersInDouble-QuotedStrings, Sotofixthis: 1.usesingschingquotesforliteralPathsliL'c: \ Users \ John \ Documents ', 2.ordoublethebackSlashesSindoublequotesas "C: \\ use

See all articles