Vous avez ici le catalogue des fonctions les plus courantes de PHP. Pour
les autres, vous pourrez consulter le manuel en ligne (voir annexe). Le but
n’est pas de reproduire la documentation du langage PHP mais de vous
proposer les fonctions les plus utiles.
Nous vous conseillons d’utiliser cette fonction le moins possible car les
navigateurs lisent très bien les caractères accentués, cela pour plusieurs
raisons : le strtoupper() d’un caractère accentué crée une capitale
accentuée. N’essayez pas par contre de mettre un caractère HTML en
majuscule (exemple : é devient É et non É).
Si vous transformez le résultat d’un formulaire avec htmlentities(),
vous serez obligé de faire l’opération contraire quand vous restituerez les
données à l’intérieur d’un champ, dans le cas d’une modification des
données, encore du code inutile.
Vous utiliserez trim() pour une authentification afin que le mot de passe
saisi soit débarrassé de tout caractère espace, avant ou après. Quand
l’internaute entre des données, il utilise parfois la fonction couper/coller.
Des espaces supplémentaires peuvent alors s’y insérer comme passagers
clandestins.
addSlashes() et stripSlashes()
Utilisez, comme nous l’avons vu précédemment la fonction phpinfo()
pour voir la configuration du serveur. Si magic_quotes_gpc est sur On,
vous n’aurez pas besoin d’ajouter des caractères d’échappement à vos
requêtes SQL. PHP les ajoutera automatiquement devant ", ’, \ et NULL.
Par contre, si magic_quotes_runtime est sur On, vous devrez les enlever
avec stripSlashes(), à chaque fois que vous extrairez des données de
votre base MySQL ou autre.
Strlen
Vous utiliserez strlen() pour tester si vous affichez des données sur
une page :
Cette fonction vous permet d’extraire une chaîne de l’intérieur d’une chaîne. La première lettre est à l’indice 0.
Deux fonctions liées à la date et à l’heure sont très utiles. Pour ordonner
des dates, il est pratique de les présenter sous la forme AAAAMMJJ ou
AAAAMMJJHHMM. Ainsi, les dates les plus récentes composent un
chiffre plus élevé. Nous allons élaborer deux fonctions de conversion de
AAAAMMJJ à JJ/MM/AAAA et vice versa :
Autres fonctions
Voici d’autres fonctions de chaînes de caractères qui simplifient votre
application.
les autres, vous pourrez consulter le manuel en ligne (voir annexe). Le but
n’est pas de reproduire la documentation du langage PHP mais de vous
proposer les fonctions les plus utiles.
Chaînes de caractères
Comme le type string est le type principal en PHP, vous serez souvent
amené à utiliser les fonctions qui manipulent les chaînes de caractères. En
voici quelques unes :
amené à utiliser les fonctions qui manipulent les chaînes de caractères. En
voici quelques unes :
Les principales chaînes de caractères
Fonction
|
Exemple
|
Description
|
addSlashes()
|
$a=addSlashes($a);
|
Ajoute des caractères
d’échappement.
|
htmlentities()
|
$a=htmlentities($a);
|
Convertit les caractères locaux
en caractères HTML, par exemple é en
é.
|
strip_tags()
|
$texte=strip_tags($texte)
|
Enlève les
balises HTML et PHP.
|
stripSlashes()
|
$a=stripSlashes($b);
|
Enlève les caractères
d’échappement.
|
strlen()
|
$nombre=strlen($a);
|
Retourne la
longueur de la chaîne.
|
substr()
|
$b=substr($a,0,2)
|
Retourne une sous-chaîne
à partir
d’une
chaîne.
|
trim()
|
$a=trim($a);
|
Enlève les espaces blancs qui encadrent la chaîne.
|
htmlentities()
Nous vous conseillons d’utiliser cette fonction le moins possible car les
navigateurs lisent très bien les caractères accentués, cela pour plusieurs
raisons : le strtoupper() d’un caractère accentué crée une capitale
accentuée. N’essayez pas par contre de mettre un caractère HTML en
majuscule (exemple : é devient É et non É).
Si vous transformez le résultat d’un formulaire avec htmlentities(),
vous serez obligé de faire l’opération contraire quand vous restituerez les
données à l’intérieur d’un champ, dans le cas d’une modification des
données, encore du code inutile.
trim()
Vous utiliserez trim() pour une authentification afin que le mot de passe
saisi soit débarrassé de tout caractère espace, avant ou après. Quand
l’internaute entre des données, il utilise parfois la fonction couper/coller.
Des espaces supplémentaires peuvent alors s’y insérer comme passagers
clandestins.
addSlashes() et stripSlashes()
Utilisez, comme nous l’avons vu précédemment la fonction phpinfo()
pour voir la configuration du serveur. Si magic_quotes_gpc est sur On,
vous n’aurez pas besoin d’ajouter des caractères d’échappement à vos
requêtes SQL. PHP les ajoutera automatiquement devant ", ’, \ et NULL.
Par contre, si magic_quotes_runtime est sur On, vous devrez les enlever
avec stripSlashes(), à chaque fois que vous extrairez des données de
votre base MySQL ou autre.
Strlen
Vous utiliserez strlen() pour tester si vous affichez des données sur
une page :
if ($fax){
echo "Fax : $fax";
}
echo "Fax : $fax";
}
Ici, évidemment, vous n’affichez pas une ligne Fax si la personne n’a pas de fax.
substr()
Cette fonction vous permet d’extraire une chaîne de l’intérieur d’une chaîne. La première lettre est à l’indice 0.
Vous pouvez par exemple épeler un nom :
$nom="Baudelaire";
$nombre_lettre=strlen($nom);
for ($i=0;$i<$nombre_lettre;$i++){
$lettre=substr($nom,$i,1);
echo "$lettre";
if ($i==$nombre_lettre-1){
echo ".";
}
else {
echo ", ";
}
}
$nombre_lettre=strlen($nom);
for ($i=0;$i<$nombre_lettre;$i++){
$lettre=substr($nom,$i,1);
echo "$lettre";
if ($i==$nombre_lettre-1){
echo ".";
}
else {
echo ", ";
}
}
Vous pouvez également faire plus simple :
Épeler Baudelaire : epeler_mot.php$nom="Baudelaire";
$nombre_lettre=strlen($nom);
for ($i=0;$i<$nombre_lettre;$i++){
$lettre=$nom[$i];
echo "$lettre";
if ($i==$nombre_lettre-1){
echo ".";
}
else {
echo ", ";
}
}
$nombre_lettre=strlen($nom);
for ($i=0;$i<$nombre_lettre;$i++){
$lettre=$nom[$i];
echo "$lettre";
if ($i==$nombre_lettre-1){
echo ".";
}
else {
echo ", ";
}
}
Nous avons substitué $lettre=$nom[$i]; à $lettre
=substr($nom,$i,1); ce qui prouve que les chaînes de caractères sont
des tableaux. Cette substitution n’aurait pas pu avoir lieu si nous avions
extrait plus d’un caractère à chaque boucle (voir fig. 3.6).
=substr($nom,$i,1); ce qui prouve que les chaînes de caractères sont
des tableaux. Cette substitution n’aurait pas pu avoir lieu si nous avions
extrait plus d’un caractère à chaque boucle (voir fig. 3.6).
Deux fonctions liées à la date et à l’heure sont très utiles. Pour ordonner
des dates, il est pratique de les présenter sous la forme AAAAMMJJ ou
AAAAMMJJHHMM. Ainsi, les dates les plus récentes composent un
chiffre plus élevé. Nous allons élaborer deux fonctions de conversion de
AAAAMMJJ à JJ/MM/AAAA et vice versa :
| Épelez votre nom |
<?
function nombre_date($cettedate){
$ladate=$cettedate;
$an=substr($ladate,0,4);
$mois=(int)substr($ladate,4,2);
$jour=(int)substr($ladate,6,2);
$ladate=$jour.’/’.$mois.’/’.$an;
if ($longueur>8){
$heure= (int)substr($ladate,8,2);
$minutes= substr($ladate,10,2);
$ladate.=" ${heure}h ${minutes}mn";
if ($longueur>12){
$secondes= substr($ladate,12,2);
$ladate.=" $secondes";
}
}
return $ladate;
} ?>
function nombre_date($cettedate){
$ladate=$cettedate;
$an=substr($ladate,0,4);
$mois=(int)substr($ladate,4,2);
$jour=(int)substr($ladate,6,2);
$ladate=$jour.’/’.$mois.’/’.$an;
if ($longueur>8){
$heure= (int)substr($ladate,8,2);
$minutes= substr($ladate,10,2);
$ladate.=" ${heure}h ${minutes}mn";
if ($longueur>12){
$secondes= substr($ladate,12,2);
$ladate.=" $secondes";
}
}
return $ladate;
} ?>
Nous vérifions, dans cette fonction, la longueur de la date et, selon la
taille, en extrayons aussi l’heure, les minutes et les secondes. Les jours,
mois et heures sont forcés en int (typées) car nous voulons éviter qu’ils
commencent par un 0 :
taille, en extrayons aussi l’heure, les minutes et les secondes. Les jours,
mois et heures sont forcés en int (typées) car nous voulons éviter qu’ils
commencent par un 0 :
<?
function date_nombre($cettedate){
function date_nombre($cettedate){
$ladate=$cettedate;
$ladate=explode(’/’,$ladate);
$jour=$ladate[0];
$mois=$ladate[1];
$an=$ladate[2];
$longueur=strlen($an);
if ($longueur==2){
if ($an>date("y")){
$an=’19’.$an;
}
else {
$an=’20’.$an;
}
}
$longueur=strlen($mois);
if ($longueur==1){
$mois=’0’.$mois;
}
$ladate=$an.$mois.$jour;
return $ladate;
} ?>
$ladate=explode(’/’,$ladate);
$jour=$ladate[0];
$mois=$ladate[1];
$an=$ladate[2];
$longueur=strlen($an);
if ($longueur==2){
if ($an>date("y")){
$an=’19’.$an;
}
else {
$an=’20’.$an;
}
}
$longueur=strlen($mois);
if ($longueur==1){
$mois=’0’.$mois;
}
$ladate=$an.$mois.$jour;
return $ladate;
} ?>
Cette fonction crée d’abord un tableau à partir des éléments délimités par
une barre oblique avec la fonction explode(). Puis nous vérifions la taille
de chaque élément pour ajouter un 0 devant, en cas de besoin.
une barre oblique avec la fonction explode(). Puis nous vérifions la taille
de chaque élément pour ajouter un 0 devant, en cas de besoin.
Autres fonctions
Voici d’autres fonctions de chaînes de caractères qui simplifient votre
application.
D’autres fonctions de chaînes de caractères
Fonction
|
Exemple
|
Description
|
chop()
|
$a=chop($a);
|
Débarrasse la chaîne des espaces
finaux.
|
explode()
|
$tableau=explode(’’, $a);
|
Crée un tableau de lettres
séparées
par un
caractère.
|
implode()
|
$a=implode(’ ’,$tableau);
|
Retourne une chaîne à partir d’un
tableau en y insérant un
caractère
de
séparation.
|
nl2br()
|
$a=nl2br($a);
|
Adjoint aux caractères de
nouvelle
ligne des
balises <BR>.
|
str_replace()
|
$a=str_replace($b,$c, $a)
|
Remplace une sous-chaîne par une
autre dans
une chaîne.
|
strip_tags()
|
$texte=strip_tags($texte)
|
Enlève les
balises HTML et PHP.
|
strtolower()
|
$a=strtolower($a);
|
Met la chaîne en bas de casse
|
strtoupper()
|
$a= strtoupper($a);
|
Met la
chaîne en capitales.
|
ucfirst()
|
$a=ucfirst($a);
|
Met le premier caractère du mot
en
capitale.
|
ucwords()
|
$a=ucwords($a);
|
Met le premier caractère de
chaque
mot en
capitale.
|
Aucun commentaire:
Enregistrer un commentaire