<

webmaster

Le langage PHP

Manipuler Les Chaines De Caracteres

Avant d'aborder le vif du sujet, faisons d'abords un petit rappel de ce que l'on a déjà su à propos des chaînes de caractères.

  1. rappel sur les chaines de caractères

1.1 Affichage de chaînes de caractère
Comme nous venons de voir dans le chapitre concernant 'la syntaxe de base en PHP', on utilise deux fonctions pour afficher des chaînes: echo et print. Ensuite, nous avons dit qu'il faut mettre ces chaines entre guillemets doubles ou guillemets simples.
1.2. Concaténation de chaînes
L'opération de concaténation des chaînes de caractère est le point. Il suffit donc de mettre un point entre deux chaînes pour les concaténer.
1.3. Les chaînes de caractère en tant que variable
Comme toute variable, l'affectation d'une variable chaîne se fait par le symbole "=" . Dès qu'on met un ou plusieurs caractères entre guillemet, PHP pense qu'il s'agit d'une chaîne de caractère.
Pour le tester, nous allons utiliser la fonction 'gettype' qui retourne le type de la variable passée en paramètre. Pour info, la fonction settype() permet, à l'inverse, d'affecter un type précis à une variable.
img1

 

La valeur affichée à l'écran est integer. C'est à dire que la variable $nb est de type nombre.
Dans ce deuxième exemple, même s'il s'agit toujours du nombre 5, la valeur affichée à l'écran n'est plus integer. Il est du type string ou chaine dès qu'on met le guillemet.

img2

  1. Longueur d'une chaîne et élagage : Fonction strlen et trim

L'élagage est une opération qui consiste à retirer les blancs avant et après une chaîne de caractère. La fonction strlen nous permet d'avoir la longueur du texte.
En ce qui concerne l'enlèvement des blancs du début et de la fin de la chaine, il suffit d'utiliser la fonction trim. Notre chaîne de départ est de longueur 33 par exemple:
img3

En appliquant un trim pour enlever les espaces, il ne nous reste plus que 27 caractères.
img4

On peut aussi enlever d'autres caractères que l'espace (comme les points par exemple) en donnant un deuxième paramètre à la fonction trim. En repassant une deuxième fois la fonction trim avec un point comme deuxième argument, nous n'avons plus que 23 caractères.

code PHP:
img5

 

  1. Recherche d'une sous-chaine en PHP : Fonction strpos et strstr

Il y a deux façons de trouver une sous chaîne. La fonction strpos() retourne un nombre qui indique la position de la première occurrence du caractère recherché. Quant à la fonction strstr(), elle permet elle aussi de trouver la première occurrence d'un caractère. Sa seule différence avec strpos() est qu'elle retourne le reste de la chaîne à partir de la chaîne repérée.
Elles ont 2 deux arguments : la chaine dans laquelle on effectue la recherche et le caractère à rechercher.

code PHP :
img6

 

Les deux fonctions ont chacune leurs équivalents : Les fonctions stripos et stristr pour l'analyse sans prendre en compte la casse, strrpos qui trouve la position de la dernière occurrence d'un caractère dans une chaîne, etc.

  1. Récupération d'une sous-chaine : Fonction substr

Maintenant, on va voir comment récupérer une partie de la chaine de caractère. On veut par exemple afficher juste les 10 premiers caractères dans un long texte. La fonction substr nous permet de faire cela. Il faut juste lui indiquer la position de départ et le nombre de caractères à enlever.
Dans notre exemple ci-dessous, la valeur 0 indique que la position départ est le début du texte:

code PHP:
img7

  1. Remplacer un motif dans une chaîne : str_replace

Dans les emails que l'on envoie (un mail de confirmation par exemple), on remarque que le contenu est le même avec juste le prénom de la personne qui change. Essayons de faire quelque chose de ce genre avec la fonction str_replace. Comme son nom l'indique, la fonction str_replace permet de chercher une sous chaine et de la remplacer.

syntaxe :
img8

$cherche est la valeur à rechercher, $remplace est la valeur avec laquelle on la remplace et $texte est le texte à l'intérieur duquel toute l'opération se déroule.
Cette expression est donc équivalent à chercher tous les $cherche dans $texte et les remplacer par $remplace.
Exemple : Cherchons le mot "personne" et remplaçons-le par le prénom "Marcel" par exemple.

code PHP :
img9

 

  1. Changement de casse : strtoupper et strtolower

Il s'agit maintenant de transformer les minuscules en majuscule ou inversement. Les fonctions en question sont strtolower pour avoir des textes en minuscules et strtoupper pour avoir des textes en majuscule.
Généralement, elles sont utilisées juste avant l'affichage pour normaliser la présentation des données. Dans un formulaire par exemple, s'il est nécessaire de mettre un nom en capitale, on n'est plus obligé d'indiquer à l'internaute de saisir son nom en majuscule. On peut le laisser faire comme bon lui semble et faire le traitement dans le code pour changer.
img10

 

  1. Fonctions PHP : ucfirst et lcfirst

Toujours dans le même contexte, les fonction ucfirst() et lcfirst() convertissent en majuscules respectivement le premier caractère de la chaîne et le premier caractère de chaque mot.

par David Matjaba