Cours ⇒ Cour PHP facebook twitter youtube

Les chaînes de caractères ⇒ & Entités XHTML et caractères spéciaux



 Pour ajouter automatiquement le caractère d’échappement \ devant les caractères
spéciaux tels que apostrophe ('), guillemets ("), antislash (\) et le caractère NUL, vous
devez utiliser la fonction

les fonctions:

  1. addslashes()
  2. quotemeta()
  3. htmlentities()

 

 

addslashes()

dont la syntaxe est la suivante :

string addslashes (string $ch)

Par exemple, le code suivant

$ch="Le répertoire est : 'C:\PHP_doc\php5'";
$ch = addslashes($ch);
echo $ch;
$ch =stripslashes($ch);
echo $ch;

 

affiche la chaîne $ch après chacune de ces transformations :
Le répertoire est : \'C:\\PHP_doc\\php5\'
Le répertoire est : 'C:\PHP_doc\php5'

Données de formulaire
La fonction addslashes() est inutile pour les données en provenance d’un formulaire si la directive
magic_quotes_runtime est active dans le php.ini.

 


La fonction quotemeta()

est similaire à addslashes(), à la différence près qu’elle introduit
un caractère d’échappement devant les métacaractères ., \, +, *, ?, [, ], (, ), $ et ^. Sa
syntaxe est la suivante :


string quotemeta ( string $ch)

 

Pour créer du code XHTML ou XML, vous devez transformer certains caractères
spéciaux (&, ", ', <, >) en entités de caractères. Vous utilisez pour cela la fonction
htmlspecialchars(), dont la syntaxe est la suivante :

string htmlspecialchars (string $ch [, int CTE[,string charset]])
 

Le paramètre CTE est une constante qui détermine le traitement des guillemets. Elle prend
les valeurs suivantes :
• ENT_COMPAT ou 2 (valeur par défaut) convertit les guillemets doubles mais pas les guillemets
simples.
• ENT_QUOTES ou 3 convertit les guillemets doubles et simples.
• ENT_NOQUOTES ou 0 ne traite aucun des guillemets.
Le paramètre charset désigne le jeu de caractères utilisé. Par défaut, il s’agit de ISO-
8859-1.


La fonction htmlentities(),

dont la syntaxe est la suivante :


string htmlentities (string $ch [, int CTE[,string charset]])


retourne une chaîne dans laquelle tous les caractères spéciaux en XHTML, donc tous
ceux dont le code UNICODE est supérieur à 128, en entités de caractère interprétables
par les navigateurs.
Les paramètres CTE et charset ont les mêmes significations que dans la fonction
htmlspecialchars(). Appliquée aux saisies des visiteurs, cette fonction empêche la création
intempestive de code XHTML en cas de saisie de balises dans une zone de texte.
Dans le code suivant :

 

$ch = "Cliquez sur l'icône en tête pour démarrer" ;
$ch2 = "L'élément XHTML du bouton est" ;
echo htmlentities($ch);
echo "
";
echo htmlentities($ch2);

 

Si vous écrivez "echo $ch2 ;" vous obtenez un bouton dans la page alors qu’en appelant
htmlentities() le code apparaît normalement. Le code source du fichier XHTML
contient les lignes suivantes :
Cliquez sur l'icône en tête pour démarrer

L'élément XHTML du bouton est <button>


Changer le fond
Oregionale Skin
7astuces
Sélectionnez un Fond (11)
7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces
Fond de contenu
7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces