Dans cet article, nous allons découvrir les fonctions permettant de manipuler les chaîne de caractères ou String PHP les plus populaires et vous fournir des exemples simples. Bonne lecture !
Principaux points à retenir :
- Indispensable pour les développeurs : les 40 fonctions de chaîne de caractères ou String PHP présentées sont des outils indispensables pour tout développeur PHP, améliorant les capacités de traitement et de manipulation des données dans les applications Web.
- Fonctions de sécurité : des fonctions telles que
addslashes()
ethtmlspecialchars()
sont essentielles pour améliorer la sécurité en empêchant les injections SQL et les attaques XSS, garantissant ainsi que les entrées utilisateur sont traitées et affichées en toute sécurité. - Formatage des données : utilisez
chunk_split()
ounumber_format()
pour formater les chaînes afin d’améliorer la lisibilité et la présentation, particulièrement utiles dans les rapports de données et les interfaces utilisateur. - Encodage et décodage : des fonctions essentielles pour l’encodage et le décodage des données, garantissant la compatibilité et l’exactitude de la transmission des données.
- Manipulation de chaînes : maîtrisez des fonctions telles que
explode()
,implode()
,str_split()
ettrim()
pour manipuler efficacement les chaînes, essentielles pour l’analyse et la préparation des données pour le stockage ou le traitement ultérieur. - Localisation : exploitez
localeconv()
pour adapter les applications à différents contextes culturels et régionaux, en veillant à ce que les données numériques, monétaires et autres soient conformes aux préférences locales. - Analyse avancée des chaînes : utilisez
levenshtein()
etsimilar_text()
pour une analyse de chaîne sophistiquée, qui peut être particulièrement utile dans la fonctionnalité de recherche et la validation des données.

addslashes()
La fonction addslashes()
en PHP ajoute un antislash (\
) devant certains caractères pour sécuriser une chaîne avant de l’enregistrer dans une base de données ou de l’afficher sur une page web.
Les caractères protégés par un antislash sont :
- L’apostrophe (
'
) - Les guillemets (
"
) - L’antislash (
\
) - Le caractère NULL (
\0
)
Exemple d’utilisation de addslashes()
$string = "C'est le livre de John";
$safe_string = addslashes($string);
echo $safe_string;
Résultat :
C\'est le livre de John
Comme on le voit, l’apostrophe ('
) est précédée d’un antislash (\
) pour éviter toute erreur lors du stockage ou de l’affichage.
chr()
La fonction chr()
en PHP retourne une chaîne contenant le caractère correspondant au code ASCII passé en paramètre. Ce code doit être un entier compris entre 0 et 255.
Exemple d’utilisation de chr()
$num = 65;
$char = chr($num);
echo $char;
Dans cet exemple, chr(65)
retourne la lettre A
, car 65 est le code ASCII de A
.
chunk_split()
La fonction chunk_split()
est utilisée pour diviser une chaîne en morceaux plus petits d’une longueur spécifique. Elle est utile pour le traitement des données en petits segments ou pour formater du texte afin de le rendre plus lisible.
Paramètres :
- La chaîne à diviser
- La longueur de chaque segment
- Le séparateur (optionnel, par défaut
"\r\n"
)
Exemple d’utilisation de chunk_split()
Diviser une chaîne en morceaux de 3 caractères avec "-"
comme séparateur :
$original_string = 'Hello world';
$chunked_string = chunk_split($original_string, 3, '-');
echo $chunked_string;
Résultat :
Hel-lo -wor-ld-
Chaque segment de 3 caractères est séparé par "-"
, et un séparateur final est ajouté à la fin.
count_chars()
La fonction count_chars()
en PHP sert à analyser une chaîne de caractères et à compter combien de fois chaque caractère apparaît. Elle renvoie soit un tableau contenant le nombre d’occurrences de chaque caractère, soit une chaîne filtrée selon un mode spécifique.
Comment ça fonctionne ?
Quand tu utilises count_chars($string, $mode)
, PHP va examiner tous les caractères de $string
et te donner une réponse en fonction de $mode
:
- Mode 0 : Retourne un tableau associatif avec chaque caractère et son nombre d’apparitions.
- Mode 1 : Retourne un tableau avec seulement les caractères qui apparaissent au moins une fois.
- Mode 2 : Retourne un tableau avec les caractères qui n’apparaissent pas du tout.
- Mode 3 : Retourne une chaîne contenant uniquement les caractères uniques présents.
- Mode 4 : Retourne une chaîne contenant uniquement les caractères absents.
$phrase = "hello world";
$result = count_chars($phrase, 1); // On choisit le mode 1
foreach ($result as $char => $count) {
echo "Le caractère '" . chr($char) . "' apparaît $count fois.\n";
}
Explication du résultat :
Si on exécute ce code, il affichera :
Le caractère ' ' apparaît 1 fois.
Le caractère 'd' apparaît 1 fois.
Le caractère 'e' apparaît 1 fois.
Le caractère 'h' apparaît 1 fois.
Le caractère 'l' apparaît 3 fois.
Le caractère 'o' apparaît 2 fois.
Le caractère 'r' apparaît 1 fois.
Le caractère 'w' apparaît 1 fois.
📌 Remarque : chr($char)
permet de convertir le numéro ASCII en caractère lisible.
Ainsi, cette fonction est très utile si tu veux analyser du texte, comme compter les lettres dans un mot ou détecter quels caractères sont présents.
crypt()
La fonction crypt()
permet de chiffrer (hacher) un mot de passe ou une chaîne de caractères. Elle utilise un algorithme de hachage et un « sel » (une valeur supplémentaire pour renforcer la sécurité).
👉 Attention : crypt()
est une ancienne méthode, et aujourd’hui, il est recommandé d’utiliser password_hash()
pour stocker les mots de passe.
Quand tu utilises crypt($string, $salt)
, PHP chiffre $string
avec un algorithme défini dans $salt
.
Le salt est une chaîne spéciale qui indique quel algorithme utiliser.
Exemple simple :
On va chiffrer le mot "monmotdepasse"
avec l’algorithme MD5 :
$mot_de_passe = "monmotdepasse";
$salt = "$1$monSel$"; // $1$ = MD5, suivi du "sel"
$hash = crypt($mot_de_passe, $salt);
echo "Mot de passe chiffré : " . $hash;
Explication du résultat :
Si on exécute ce code, il affichera un mot de passe chiffré du type :
Mot de passe chiffré : $1$monSel$WlTzTxd8lkFasXhWxZ99M0
📌 Décomposition du hash :
$1$
→ signifie que l’algorithme utilisé est MD5.monSel
→ est le sel qu’on a choisi.WlTzTxd8lkFasXhWxZ99M0
→ est le résultat du hachage.
Pourquoi utiliser crypt()
?
- Sécurité : permet de stocker des mots de passe sans les enregistrer en clair.
- Comparaison facile : pour vérifier un mot de passe, il suffit de refaire le
crypt()
avec le même sel et de comparer le résultat.
👉 Meilleure alternative aujourd’hui : password_hash()
et password_verify()
, plus sécurisés.
echo()
La fonction echo()
permet d’afficher du texte ou des valeurs dans une page web.
👉 Contrairement à d’autres fonctions, elle ne retourne rien, elle sert uniquement à afficher des informations à l’écran.
echo "Bonjour, bienvenue sur mon site !";
Tu peux afficher plusieurs valeurs en les séparant par des virgules :
$nom = "Alban";
$age = 43;
echo "Nom : ", $nom, ", Âge : ", $age;
// Affichera : Nom : Alban, Âge : 43
echo
peut afficher du code HTML, ce qui est très utile pour structurer une page web.
echo "<h1>Bienvenue sur mon site</h1>";
echo "<p>Ceci est un paragraphe affiché avec PHP.</p>";
Différence entre echo
et print
echo
est plus rapide et peut afficher plusieurs valeurs.print
retourne toujours1
, donc il est un peu plus lent et sert surtout dans des expressions.
En résumé : Privilégie echo
pour afficher du texte en PHP !
explode()
La fonction explode()
permet de couper une chaîne de caractères en plusieurs morceaux, en utilisant un séparateur. Elle retourne un tableau contenant les morceaux obtenus.
explode("séparateur", "chaîne à découper");
- Le séparateur : C’est le caractère qui indique où couper la chaîne.
- La chaîne à découper : C’est la phrase ou le texte que tu veux diviser.
- Résultat : Un tableau contenant chaque morceau.
Imaginons qu’on ait une liste de prénoms séparés par des virgules :
$liste = "Alban,Julie,Marc,Sophie";
$morceaux = explode(",", $liste);
print_r($morceaux);
Résultat affiché :
Array
(
[0] => Alban
[1] => Julie
[2] => Marc
[3] => Sophie
)
Récupérer des mots dans une phrase :
$phrase = "PHP est un langage puissant";
$mots = explode(" ", $phrase);
echo $mots[0]; // Affiche "PHP"
echo $mots[1]; // Affiche "est"
Ici, chaque mot devient un élément du tableau.
Tu peux limiter le découpage en ajoutant un troisième paramètre :
$texte = "pomme,banane,cerise,orange";
$morceaux = explode(",", $texte, 3);
print_r($morceaux);
Array
(
[0] => pomme
[1] => banane
[2] => cerise,orange
)
Le dernier élément garde le reste de la chaîne.
Quand utiliser explode()
?
- Pour séparer des données venant d’un fichier ou d’une base de données.
- Pour analyser une phrase et extraire des mots.
- Pour traiter des valeurs CSV (comme « nom,prénom,email »).
fprintf()
La fonction fprintf()
permet d’écrire du texte formaté dans un fichier ou une ressource (comme un fichier ouvert ou la console).
👉 Elle fonctionne comme printf()
, mais au lieu d’afficher directement le texte, elle l’écrit dans un fichier ou une ressource spécifique.
fprintf($ressource, "format", valeur1, valeur2, ...);
- $ressource : Le fichier ou la ressource où écrire.
- « format » : Un texte avec des espaces réservés (
%s
,%d
, etc.). - Valeurs : Les données à insérer dans le format.
Exemple simple : Écrire dans un fichier
On va écrire dans un fichier texte (donnees.txt
) des informations formatées :
$fichier = fopen("donnees.txt", "w"); // Ouvre le fichier en écriture
$nom = "Alban";
$age = 43;
fprintf($fichier, "Nom : %s, Âge : %d\n", $nom, $age);
fclose($fichier); // Ferme le fichier
Explication :
fopen("donnees.txt", "w")
ouvre un fichier en mode écriture.fprintf($fichier, "Nom : %s, Âge : %d\n", $nom, $age);
écrit les infos avec mise en forme.fclose($fichier);
ferme le fichier après écriture.
Résultat dans le fichier donnees.txt
:
Nom : Alban, Âge : 43
hex2bin()
La fonction hex2bin()
permet de convertir une chaîne en hexadécimal (base 16) en une chaîne binaire (base 2).
Imaginons qu’on ait une valeur hexadécimale "48656c6c6f"
(qui correspond à "Hello"
en ASCII).
$hex = "48656c6c6f";
$binaire = hex2bin($hex);
echo $binaire; // Affichera "Hello"
Explication :
"48656c6c6f"
est du hexadécimal, où chaque paire de chiffres représente un caractère ASCII.hex2bin($hex)
convertit cette valeur en texte lisible ("Hello"
).- Si
$hex
contient une valeur non valide,hex2bin()
retournerafalse
.
Quand utiliser cette fonction ?
- Pour décoder des données hexadécimales stockées dans une base de données.
- Pour traiter des fichiers cryptés ou convertis en hexadécimal.
- Pour lire des chaînes encodées en hex provenant d’API ou de flux de données.
htmlspecialchars_decode()
La fonction htmlspecialchars_decode()
permet de convertir les caractères HTML spéciaux en leur version normale.
👉 Elle fait l’inverse de htmlspecialchars()
, qui protège du code HTML en remplaçant certains caractères (<
, >
, &
, etc.).
Exemple simple
Imaginons qu’on ait une chaîne contenant du code HTML encodé :
$texte = "Bonjour & bienvenue sur <strong>mon site</strong> !";
$decode = htmlspecialchars_decode($texte);
echo $decode;
Explication
&
devient&
<strong>
devient<strong>
</strong>
devient</strong>
🔹 Résultat affiché :
Bonjour & bienvenue sur <strong>mon site</strong> !
Quand utiliser htmlspecialchars_decode()
?
✅ Pour réafficher du texte formaté quand on a utilisé htmlspecialchars()
auparavant.
✅ Pour convertir des textes encodés venant d’une base de données ou d’un formulaire.
htmlspecialchars()
La fonction htmlspecialchars()
permet de protéger une chaîne de caractères en transformant les caractères spéciaux HTML.
👉 Elle est très utile pour éviter les failles XSS (injection de code malveillant dans une page web).
Imaginons qu’un utilisateur entre du code HTML dans un formulaire :
$texte = "<script>alert('Hacked!')</script>";
$protection = htmlspecialchars($texte);
echo $protection;
Explication
<script>
devient<script>
</script>
devient</script>
🔹 Résultat affiché dans la page :
<script>alert('Hacked!')</script>
🔹 Sans htmlspecialchars()
, le navigateur exécuterait l’alerte !
Quand utiliser htmlspecialchars()
?
✅ Pour sécuriser l’affichage des données saisies par les utilisateurs (formulaires, commentaires, messages…).
✅ Pour empêcher l’exécution de scripts malveillants.
Astuce : Pour inverser l’effet, utilise htmlspecialchars_decode()
.
implode()
La fonction implode()
permet de transformer un tableau en une chaîne de caractères, en séparant les éléments avec un délimiteur de ton choix.
👉 C’est l’inverse de explode()
(qui transforme une chaîne en tableau).
Comment ça marche ?
implode("séparateur", $tableau);
- Le séparateur : C’est le texte qui sera mis entre chaque élément.
- Le tableau : C’est la liste des éléments que tu veux transformer en chaîne.
- Résultat : Une chaîne avec les éléments du tableau séparés par le délimiteur.
Imaginons une liste de prénoms dans un tableau :
$prenoms = ["Alban", "Julie", "Marc", "Sophie"];
$chaine = implode(", ", $prenoms);
echo "Les participants sont : " . $chaine;
Résultat affiché :
Les participants sont : Alban, Julie, Marc, Sophie
Autres utilisations
Créer une URL avec des paramètres
$parametres = ["page=1", "tri=date", "categorie=php"];
$url = "https://monsite.com/articles?" . implode("&", $parametres);
echo $url;
Résultat :
https://monsite.com/articles?page=1&tri=date&categorie=php
Quand utiliser implode()
?
✅ Pour formater une liste d’éléments (affichage propre d’un tableau).
✅ Pour créer une URL dynamique avec plusieurs paramètres.
✅ Pour insérer plusieurs valeurs en base de données sous forme de texte.
levenshtein()
La fonction levenshtein()
sert à mesurer la différence entre deux mots en comptant le nombre de modifications nécessaires pour passer de l’un à l’autre.
👉 Les modifications possibles sont :
✅ Remplacement d’une lettre
✅ Ajout d’une lettre
✅ Suppression d’une lettre
Plus le nombre est petit, plus les mots sont similaires.
Imaginons qu’on veuille comparer « chat » et « chats » :
$mot1 = "chat";
$mot2 = "chats";
$distance = levenshtein($mot1, $mot2);
echo "Distance entre '$mot1' et '$mot2' : $distance";
Résultat affiché :
Distance entre 'chat' et 'chats' : 1
📌 Pourquoi 1 ?
Il suffit d’ajouter un « s » pour transformer « chat » en « chats ».
Autre exemple : Correction automatique
Imaginons un correcteur orthographique qui compare un mot mal écrit avec une liste de mots corrects :
$motMalEcrit = "maisonn";
$dictionnaire = ["maison", "mason", "raison", "mais"];
$meilleureCorrespondance = "";
$plusPetiteDistance = PHP_INT_MAX;
foreach ($dictionnaire as $mot) {
$distance = levenshtein($motMalEcrit, $mot);
if ($distance < $plusPetiteDistance) {
$plusPetiteDistance = $distance;
$meilleureCorrespondance = $mot;
}
}
echo "Vous vouliez dire : $meilleureCorrespondance ?";
🔹 Résultat :
Vous vouliez dire : maison ?
📌 Pourquoi « maison » ?
C’est le mot qui a la plus petite différence avec « maisonn » (juste une lettre en trop).
Quand utiliser levenshtein()
?
✅ Pour corriger les fautes de frappe (ex : correcteur orthographique).
✅ Pour suggérer des mots proches dans un moteur de recherche.
✅ Pour détecter des similitudes entre deux chaînes de caractères.
localeconv()
La fonction localeconv()
permet de récupérer les paramètres de formatage des nombres et de la monnaie selon la langue et la région définies.
👉 Elle est utile pour afficher les nombres et les devises selon les conventions locales.
Comment ça fonctionne ?
Quand on appelle localeconv()
, PHP retourne un tableau associatif contenant :
✅ Le séparateur des décimales (decimal_point
)
✅ Le séparateur des milliers (thousands_sep
)
✅ Le symbole monétaire (currency_symbol
)
✅ Le code monétaire (int_curr_symbol
)
✅ Et d’autres paramètres spécifiques à la monnaie
📌 Important : La locale (langue et région) doit être définie avec setlocale()
.
Exemple concret
Affichons un prix formaté en fonction de la langue française :
setlocale(LC_MONETARY, 'fr_FR.UTF-8');
$format = localeconv();
$prix = 1234567.89;
echo "Prix : " . number_format($prix, 2, $format['decimal_point'], $format['thousands_sep']) . " " . $format['currency_symbol'];
Explication :
1️⃣ setlocale(LC_MONETARY, 'fr_FR.UTF-8');
→ Définit la langue en français (France).
2️⃣ localeconv();
→ Récupère les formats de nombres et monnaie pour cette langue.
3️⃣ number_format()
→ Formate le nombre avec les séparateurs locaux.
4️⃣ Affichage du prix en respectant la convention française.
Résultat affiché :
Prix : 1 234 567,89 €
✅ Virgule pour les décimales (au lieu d’un point en anglais).
✅ Espace comme séparateur de milliers.
✅ Symbole € ajouté à la fin.
Quand utiliser localeconv()
?
✅ Pour adapter l’affichage des prix selon la langue du visiteur.
✅ Pour garantir un format monétaire correct dans les factures.
✅ Pour rendre un site multilingue plus professionnel.
ltrim()
La fonction ltrim()
permet de supprimer les espaces ou d’autres caractères indésirables au début d’une chaîne de caractères.
👉 « ltrim » signifie « left trim » (coupe à gauche).
Imaginons que tu reçoives une chaîne avec des espaces au début :
$texte = " Bonjour !";
$texte_sans_espaces = ltrim($texte);
echo "Avant : '$texte'\n";
echo "Après : '$texte_sans_espaces'";
1️⃣ Avant ltrim()
, la chaîne contient des espaces au début.
2️⃣ Après ltrim()
, les espaces au début sont supprimés.
🔹 Résultat affiché :
Avant : ' Bonjour !'
Après : 'Bonjour !'
Autre exemple : Supprimer des caractères spécifiques
Tu peux aussi enlever d’autres caractères que des espaces, par exemple des zéros :
$nombre = "00012345";
$nombre_sans_zero = ltrim($nombre, "0");
echo $nombre_sans_zero;
🔹 Résultat :
12345
📌 Ici, ltrim($nombre, "0")
supprime les 0
au début, mais pas ceux à l’intérieur.
Quand utiliser ltrim()
?
✅ Pour nettoyer les espaces en trop au début d’une entrée utilisateur.
✅ Pour enlever des caractères spécifiques (comme des zéros en début de numéro).
✅ Pour formater proprement des données avant un affichage.
md5_file()
La fonction md5_file()
sert à calculer le hash MD5 d’un fichier.
👉 Pourquoi faire ça ?
- Vérifier si un fichier a été modifié.
- Comparer deux fichiers pour voir s’ils sont identiques.
- Stocker un « empreinte unique » d’un fichier.
Exemple simple : Imaginons que tu as un fichier document.txt
, et tu veux calculer son hash MD5 :
$fichier = "document.txt";
$hash = md5_file($fichier);
echo "Le hash du fichier est : $hash";
1️⃣ md5_file($fichier)
→ Lit le fichier et génère un hash unique en MD5.
2️⃣ Si le fichier est modifié, le hash changera automatiquement.
3️⃣ C’est une bonne méthode pour vérifier l’intégrité d’un fichier.
Résultat affiché (exemple) :
Le hash du fichier est : e99a18c428cb38d5f260853678922e03
Chaque fichier a un hash unique. Si son contenu change, le hash change aussi.
Autre utilisation : Vérifier si un fichier a été modifié
$fichier = "document.txt";
$hash_attendu = "e99a18c428cb38d5f260853678922e03";
if (md5_file($fichier) === $hash_attendu) {
echo "Le fichier n'a pas été modifié.";
} else {
echo "Le fichier a été modifié !";
}
📌 Ici, on compare le hash actuel du fichier avec un hash de référence.
Si le hash est différent, cela veut dire que le fichier a été modifié.
Quand utiliser md5_file()
?
✅ Pour vérifier si un fichier a changé après un téléchargement ou une mise à jour.
✅ Pour détecter des fichiers en double (même hash = même fichier).
✅ Pour sécuriser des fichiers en gardant une trace de leur empreinte unique.
md5()
La fonction md5()
permet de crypter une chaîne de caractères en un hash MD5 de 32 caractères.
👉 C’est quoi un hash ?
C’est une empreinte unique générée à partir d’un texte.
⚠️ Attention : Le hash MD5 n’est pas réversible (on ne peut pas retrouver le texte d’origine).
Exemple simple, imaginons que tu veux stocker un mot de passe de manière sécurisée :
$motDePasse = "monSuperMotDePasse123";
$hash = md5($motDePasse);
echo "Mot de passe hashé : $hash";
1️⃣ md5($motDePasse)
transforme "monSuperMotDePasse123"
en hash unique.
2️⃣ Ce hash est toujours le même pour le même mot de passe.
3️⃣ ⚠️ Ne pas utiliser MD5 pour les mots de passe en production (il est vulnérable).
Résultat affiché (exemple)
Mot de passe hashé : e99a18c428cb38d5f260853678922e03
Si quelqu’un entre le même mot de passe, il obtiendra le même hash.
Exemple d’utilisation : Vérifier un mot de passe
Si un utilisateur entre un mot de passe, on peut comparer son hash avec celui stocké :
$motDePasse = "monSuperMotDePasse123";
$hash_stocke = "e99a18c428cb38d5f260853678922e03"; // Hash stocké en base de données
if (md5($motDePasse) === $hash_stocke) {
echo "Mot de passe correct !";
} else {
echo "Mot de passe incorrect !";
}
📌 Si les hash correspondent, le mot de passe est bon.
⚠️ Pourquoi ne pas utiliser md5()
pour sécuriser les mots de passe ?
MD5 est cassable avec des outils comme les « rainbow tables ».
À la place, utilise password_hash()
et password_verify()
pour plus de sécurité.
Quand utiliser md5()
?
✅ Pour vérifier l’intégrité d’un texte (exemple : vérifier si un fichier ou un message a changé).
✅ Pour générer des identifiants uniques (non critiques).
❌ Pas pour sécuriser les mots de passe !
nl2br()
nl2br()
sert à remplacer les retours à la ligne (\n
) par des balises <br>
en HTML.
📌 Pourquoi c’est utile ?
Quand tu récupères du texte depuis une base de données ou un formulaire, les retours à la ligne ne s’affichent pas en HTML. nl2br()
permet donc de conserver le formatage du texte.
Exemple concret, imaginons que tu as un texte écrit par un utilisateur dans un formulaire :
$texte = "Bonjour !\nBienvenue sur mon site.\nBonne journée !";
echo nl2br($texte);
1️⃣ $texte
contient des retours à la ligne \n
.
2️⃣ nl2br($texte)
remplace chaque \n
par <br>
.
3️⃣ En HTML, le texte s’affichera comme ceci :
Bonjour !<br>
Bienvenue sur mon site.<br>
Bonne journée !
Résultat affiché dans le navigateur sans nl2br()
:
Bonjour ! Bienvenue sur mon site. Bonne journée !
Résultat affiché dans le navigateur avec nl2br()
:
Bonjour !
Bienvenue sur mon site.
Bonne journée !
Alternative : Utiliser <pre>
. Si tu veux conserver les sauts de ligne et les espaces sans <br>
, tu peux utiliser la balise <pre>
en HTML :
echo "<pre>" . htmlspecialchars($texte) . "</pre>";
Quand utiliser nl2br()
?
✅ Pour afficher du texte formaté avec des retours à la ligne en HTML.
✅ Utile dans un blog, un chat, un formulaire de commentaire.
🚫 Pas besoin si tu affiches du texte dans une textarea
(elle gère déjà les retours à la ligne).
number_format()
La fonction number_format()
permet de formater un nombre en ajoutant des séparateurs pour les milliers et en définissant le nombre de décimales.
📌 Pourquoi c’est utile ?
Si tu affiches un prix ou un gros nombre, number_format()
le rend plus lisible.
$nombre = 1234567.8910;
$formatte = number_format($nombre, 2, ',', ' ');
echo $formatte; // Affiche "1 234 567,89"
Explication
1️⃣ $nombre = 1234567.8910;
→ C’est un nombre avec plusieurs décimales.
2️⃣ number_format($nombre, 2, ',', ' ')
→
- 2 → Nombre de décimales après la virgule.
,
→ Symbole pour séparer les décimales.' '
→ Espace pour séparer les milliers.
Exemple avec un prix en euros :
$prix = 49.99;
echo number_format($prix, 2, ',', ' ') . " €";
// Affiche "49,99 €"
Quand utiliser number_format()
?
✅ Pour afficher des prix sur un site e-commerce.
✅ Pour afficher de grands nombres de manière lisible (exemple : statistiques, montants financiers).
🚫 Pas pour des calculs mathématiques (ça retourne une chaîne de caractères).
ord()
La fonction ord()
permet d’obtenir le code ASCII d’un caractère.
📌 Pourquoi c’est utile ?
Chaque caractère (lettre, chiffre, symbole) a un numéro unique en informatique. ord()
aide à connaître ce numéro.
$lettre = 'A';
$codeAscii = ord($lettre);
echo "Le code ASCII de '$lettre' est : $codeAscii"; // Affiche "Le code ASCII de 'A' est : 65"
1️⃣ 'A'
est stocké dans $lettre
.
2️⃣ ord($lettre)
retourne 65, car ‘A’ a ce code en ASCII.
3️⃣ On affiche « Le code ASCII de ‘A’ est : 65 ».
Exemple avec plusieurs caractères, si on veut le code du premier caractère d’une phrase :
$texte = "Bonjour";
echo ord($texte);
// Affiche "66" car 'B' a le code ASCII 66
Quand utiliser ord()
?
✅ Pour comprendre comment les caractères sont stockés en informatique.
✅ Pour faire des opérations sur les caractères (ex: cryptographie, tris, encodage).
🚫 Pas pour afficher directement des caractères (dans ce cas, utilise chr()
).
parse_str()
La fonction parse_str()
permet de convertir une chaîne de requête (query string) en variables PHP.
📌 Pourquoi c’est utile ?
Si tu récupères des données d’une URL ou d’un formulaire encodé, parse_str()
te permet de transformer cette chaîne en variables utilisables directement.
$chaine = "nom=Alban&age=43&ville=Troyes";
parse_str($chaine, $resultat);
print_r($resultat);
1️⃣ $chaine
contient une chaîne de requête (comme dans une URL).
2️⃣ parse_str($chaine, $resultat);
transforme cette chaîne en un tableau associatif.
3️⃣ print_r($resultat);
affiche :
(
[nom] => Alban
[age] => 43
[ville] => Troyes
)
Exemple avec des variables globales
Sans deuxième paramètre, parse_str()
crée directement des variables :
$data = "pays=France&langue=fr";
parse_str($data);
echo $pays; // Affiche "France"
echo $langue; // Affiche "fr"
⚠️ Attention ! Cette méthode est risquée car elle crée des variables dynamiquement. Mieux vaut utiliser un tableau pour éviter d’écraser des variables existantes.
Quand utiliser parse_str()
?
✅ Pour extraire des valeurs d’une URL ou d’une requête GET.
✅ Pour convertir une chaîne encodée en tableau PHP.
🚫 À éviter si tu ne veux pas créer de variables globales par accident.
password_hash()
La fonction password_hash()
sert à chiffrer un mot de passe avant de l’enregistrer dans une base de données.
📌 Pourquoi c’est important ?
- Ne pas stocker les mots de passe en clair (sinon, un pirate peut les voler facilement).
- Rendre les mots de passe illisibles même si la base de données est piratée.
- Utiliser un algorithme sécurisé (comme
PASSWORD_DEFAULT
qui évolue avec le temps).
$mot_de_passe = "MonSuperSecret123";
// Génération d'un mot de passe sécurisé
$mot_de_passe_hash = password_hash($mot_de_passe, PASSWORD_DEFAULT);
echo "Mot de passe chiffré : " . $mot_de_passe_hash;
💡 Résultat affiché (exemple) :
Mot de passe chiffré : $2y$10$wXrYpJ3v8dMkhZaz8E9a5ehF3aT/ZnAvMq9WT1pHi8udOcPyA.R9q
✅ Le mot de passe est devenu une suite de caractères illisible et unique.
Comment vérifier un mot de passe ?
Quand un utilisateur se connecte, on ne peut pas déchiffrer le mot de passe enregistré.
On doit comparer avec password_verify()
:
$mot_de_passe_saisi = "MonSuperSecret123"; // Ce que l'utilisateur tape
$hash_stocke = "$2y$10$wXrYpJ3v8dMkhZaz8E9a5ehF3aT/ZnAvMq9WT1pHi8udOcPyA.R9q";
// Hash stocké
if (password_verify($mot_de_passe_saisi, $hash_stocke)) {
echo "Mot de passe correct !";
} else {
echo "Mot de passe incorrect.";
}
💡 Résultat si le mot de passe est bon :
Mot de passe correct !
✅ La comparaison fonctionne, même si le hash est différent à chaque fois !
Pourquoi ne pas utiliser md5()
ou sha1()
?
🚫 md5()
et sha1()
ne sont pas sécurisés pour les mots de passe !
📌 Ils sont trop rapides et peuvent être cassés facilement avec des attaques (rainbow tables, brute force).
✅ password_hash()
est sécurisé car il utilise un algorithme lent et adaptatif (bcrypt
par défaut).
Résumé :
Fonction | Rôle |
---|---|
password_hash($mdp, PASSWORD_DEFAULT) | Chiffre un mot de passe de manière sécurisée. |
password_verify($mdp_saisi, $hash_stocke) | Vérifie si un mot de passe correspond au hash stocké. |
📌 Quand utiliser password_hash()
?
✅ Quand tu crées un système de connexion sécurisé.
✅ Quand tu stockes des mots de passe en base de données.
✅ Quand tu veux protéger tes utilisateurs contre les attaques.
password_verify()
La fonction password_verify()
permet de vérifier si un mot de passe saisi par un utilisateur correspond à un mot de passe déjà enregistré (haché avec password_hash()
).
✅ C’est une fonction essentielle pour la connexion des utilisateurs !
Elle est utilisée pour comparer un mot de passe en clair avec un mot de passe sécurisé enregistré dans la base de données.
📌 Comment ça fonctionne ?
- On hach le mot de passe avec
password_hash()
et on l’enregistre en base de données. - Plus tard, lorsque l’utilisateur veut se connecter, on utilise
password_verify()
pour voir si son mot de passe correspond au hachage stocké.
📌 Exemple unique : Vérifier un mot de passe lors de la connexion
Imaginons que l’on stocke un mot de passe sécurisé en base de données :
// On simule un mot de passe enregistré (généralement stocké en base de données)
$mot_de_passe_stocke = password_hash("monSuperMdp2024", PASSWORD_DEFAULT);
// Maintenant, l'utilisateur essaie de se connecter avec un mot de passe
$mot_de_passe_saisi = "monSuperMdp2024";
if (password_verify($mot_de_passe_saisi, $mot_de_passe_stocke)) {
echo "Connexion réussie ✅";
} else {
echo "Erreur : mot de passe incorrect ❌";
}
💡 Résultat affiché si le mot de passe est bon :
Connexion réussie ✅
💡 Résultat affiché si l’utilisateur entre un mauvais mot de passe :
Erreur : mot de passe incorrect ❌
Pourquoi password_verify()
est important ?
✅ Il compare un mot de passe en clair avec un mot de passe haché, sans jamais stocker le mot de passe original.
✅ Il garantit la sécurité des mots de passe en utilisant un hachage sécurisé.
✅ Il évite les attaques où un hacker volerait les mots de passe en cas de fuite de données.
Quand utiliser password_verify()
?
✅ À chaque connexion utilisateur pour comparer le mot de passe saisi avec celui stocké en base.
✅ Lors d’une vérification d’identité, par exemple avant un changement d’adresse e-mail.
print()
La fonction print()
permet d’afficher du texte à l’écran, comme echo
, mais avec une petite différence :

Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?print()
retourne toujours 1, alors queecho
ne retourne rien.
📌 Pourquoi c’est utile ?
Si tu veux afficher un message tout en pouvant récupérer une valeur (par exemple, dans une condition), print()
peut être utile.
print("Bienvenue sur mon site !");
💡 Cela affiche simplement :
Bienvenue sur mon site !
Exemple avec une condition
Comme print()
retourne 1
, on peut l’utiliser dans une condition :
if (print("Hello !")) {
echo " - Message affiché avec succès.";
}
💡 Résultat affiché :
Hello ! - Message affiché avec succès.
Différence entre print()
et echo
✅ print()
peut être utilisé dans une expression car il retourne 1.
✅ echo
est plus rapide car il ne retourne rien.
🚫 print()
ne peut afficher qu’une seule valeur à la fois, contrairement à echo
.
echo "Bonjour", " ", "Alban"; // OK
print("Bonjour", " ", "Alban"); // Erreur
Quand utiliser print()
?
✅ Si tu veux récupérer une valeur après l’affichage.
✅ Si tu écris un script simple où la différence de vitesse ne compte pas.
🚫 Si tu veux afficher plusieurs valeurs à la fois (privilégie echo
).
printf()
La fonction printf()
permet d’afficher du texte formaté en insérant des variables dans une chaîne, tout en contrôlant leur affichage (nombre de décimales, alignement, etc.).
📌 Pourquoi c’est utile ?
Elle est très pratique pour afficher des nombres avec un format précis, des dates bien structurées ou encore du texte aligné.
$nom = "Alban";
$age = 43;
printf("Bonjour, je m'appelle %s et j'ai %d ans.", $nom, $age);
💡 Résultat affiché :
Bonjour, je m'appelle Alban et j'ai 43 ans.
1️⃣ %s
→ Remplace une chaîne de caractères ($nom
).
2️⃣ %d
→ Remplace un nombre entier ($age
).
3️⃣ printf()
insère automatiquement les valeurs dans la phrase.
Exemple avec un nombre formaté
Si on veut afficher un prix avec 2 chiffres après la virgule :
$prix = 49.9;
printf("Le prix est de %.2f €", $prix);
💡 Résultat affiché :
Le prix est de 49.90 €
1️⃣ %.2f
→ Affiche un nombre décimal (f
pour float) avec 2 chiffres après la virgule.
2️⃣ Même si $prix = 49.9
, il s’affichera 49.90, ce qui est plus propre.
Quand utiliser printf()
?
✅ Si tu veux afficher des nombres avec un format précis.
✅ Si tu veux structurer un texte avec des valeurs dynamiques.
🚫 Si tu veux juste afficher du texte sans formatage spécial (echo
ou print
sont plus simples).
quotemeta()
La fonction quotemeta()
sert à ajouter un antislash (\
) devant certains caractères spéciaux dans une chaîne de texte.
📌 Pourquoi c’est utile ?
Si tu veux utiliser une chaîne dans une expression régulière ou dans une commande sensible aux caractères spéciaux, quotemeta()
protège ces caractères pour éviter des erreurs.
Caractères protégés par quotemeta()
Elle ajoute un \
(antislash) devant ces caractères spéciaux :. \ + * ? [ ] ( ) { } ^ $
$texte = "Bonjour. Comment ça va ? (Test)";
$resultat = quotemeta($texte);
echo $resultat;
💡 Résultat affiché :
Bonjour\. Comment ça va \? \(Test\)
1️⃣ Le texte contient des caractères spéciaux (.
, ?
, (
, )
).
2️⃣ quotemeta($texte)
ajoute un \
devant ces caractères.
3️⃣ Cela évite des erreurs si la chaîne est utilisée dans une recherche ou une expression régulière.
Quand utiliser quotemeta()
?
✅ Si tu veux protéger une chaîne avant de l’utiliser dans une expression régulière.
✅ Si tu veux éviter des erreurs dans une requête avec des caractères spéciaux.
🚫 Si tu veux protéger une chaîne pour une URL ou du HTML (dans ce cas, utilise urlencode()
ou htmlspecialchars()
).
rtrim()
La fonction rtrim()
sert à supprimer les espaces ou certains caractères à la fin d’une chaîne de texte.
📌 Pourquoi c’est utile ?
- Si un texte contient des espaces inutiles à la fin,
rtrim()
les enlève. - Utile pour nettoyer des données avant de les afficher ou les enregistrer.
$texte = "Bonjour Alban ";
// Il y a des espaces à la fin
$texte_nettoye = rtrim($texte);
echo "Avant : '$texte'\n";
echo "Après : '$texte_nettoye'";
💡 Résultat affiché :
Avant : 'Bonjour Alban '
Après : 'Bonjour Alban'
✅ Les espaces à la fin ont disparu, mais ceux au début et au milieu restent.
Exemple avec suppression d’un autre caractère
Tu peux aussi retirer d’autres caractères spécifiques, comme des points, des virgules ou des zéros.
$prix = "100.000"; // Trop de zéros à la fin
$prix_nettoye = rtrim($prix, "0");
echo $prix_nettoye;
💡 Résultat affiché :
100
✅ Les zéros à la fin ont été supprimés, mais pas le point.
Quand utiliser rtrim()
?
✅ Si tu veux nettoyer un texte avant de l’afficher ou l’enregistrer.
✅ Si tu veux enlever des caractères inutiles en fin de chaîne.
🚫 Si tu veux supprimer les espaces au début aussi, utilise trim()
.
🚫 Si tu veux supprimer uniquement au début, utilise ltrim()
.
similar_text()
La fonction similar_text()
permet de comparer deux textes et de mesurer leur niveau de ressemblance. Elle retourne le nombre de caractères communs entre les deux textes et, si on le demande, un pourcentage de similarité.
C’est utile pour comparer des noms, des phrases ou des mots de passe afin de détecter les ressemblances.
Comparer deux phrases
$texte1 = "Bonjour tout le monde";
$texte2 = "Bonjour à tous";
$similarite = similar_text($texte1, $texte2);
echo "Les deux phrases ont $similarite caractères en commun.";
💡 Résultat affiché :
Les deux phrases ont 12 caractères en commun.
✅ Pourquoi ?
« Bonjour tout le monde » et « Bonjour à tous » partagent 12 caractères communs dans le même ordre.
Vérifier si un utilisateur entre presque le même mot de passe
On peut utiliser similar_text()
pour voir si un utilisateur choisit un mot de passe trop proche d’un ancien mot de passe.
$ancien_mdp = "MotDePasse123";
$nouveau_mdp = "MotDePasse124";
similar_text($ancien_mdp, $nouveau_mdp, $pourcentage);
if ($pourcentage > 90) {
echo "Votre nouveau mot de passe est trop similaire à l'ancien. Veuillez en choisir un plus différent.";
} else {
echo "Mot de passe accepté ✅";
}
💡 Résultat affiché :
Votre nouveau mot de passe est trop similaire à l'ancien. Veuillez en choisir un plus différent.
✅ Pourquoi ?MotDePasse123
et MotDePasse124
sont presque identiques (plus de 90 % de similitude), donc on refuse ce mot de passe.
📌 Quand utiliser similar_text()
?
✅ Pour comparer des noms ou des textes et détecter les similitudes.
✅ Pour empêcher des mots de passe trop similaires.
✅ Pour trouver des erreurs de frappe (ex : comparaison de saisie utilisateur).
strcmp()
La fonction strcmp()
permet de comparer deux chaînes de caractères et retourne :
0
si elles sont identiques.- Un nombre négatif si la première est plus petite que la seconde.
- Un nombre positif si la première est plus grande que la seconde.
📌 La comparaison se fait en tenant compte des majuscules et minuscules (sensible à la casse).
$chaine1 = "apple";
$chaine2 = "banana";
$resultat = strcmp($chaine1, $chaine2);
if ($resultat < 0) {
echo "$chaine1 est avant $chaine2 dans l'ordre alphabétique.";
} elseif ($resultat > 0) {
echo "$chaine1 est après $chaine2 dans l'ordre alphabétique.";
} else {
echo "Les deux chaînes sont identiques.";
}
💡 Résultat affiché :
apple est avant banana dans l'ordre alphabétique.
✅ Pourquoi ?
📌 "apple"
vient avant "banana"
dans l’ordre alphabétique, donc strcmp()
retourne un nombre négatif.
Exemple avec des chaînes identiques
$chaine1 = "Orange";
$chaine2 = "Orange";
$resultat = strcmp($chaine1, $chaine2);
if ($resultat == 0) {
echo "Les deux chaînes sont identiques.";
}
💡 Résultat affiché :
Les deux chaînes sont identiques.
✅ strcmp()
retourne 0
car les chaînes sont exactement les mêmes.
Attention à la casse !
$chaine1 = "hello";
$chaine2 = "Hello";
$resultat = strcmp($chaine1, $chaine2);
echo "Résultat : $resultat";
💡 Résultat affiché :
Résultat : 32
🚫 Pourquoi 32
?
📌 Les majuscules et les minuscules sont différentes en ASCII :
"H"
a une valeur ASCII de72
."h"
a une valeur ASCII de104
.- 104 – 72 = 32, donc
strcmp()
retourne32
.
✅ Si tu veux une comparaison insensible à la casse, utilise strcasecmp()
:
$chaine1 = "hello";
$chaine2 = "Hello";
$resultat = strcasecmp($chaine1, $chaine2);
echo "Résultat : $resultat"; // Affichera 0
Résumé :
Fonction | Sensibilité à la casse ? | Retourne |
---|---|---|
strcmp($a, $b) | Oui | 0 si identique, un nombre négatif ou positif sinon. |
strcasecmp($a, $b) | Non | 0 si identique, un nombre négatif ou positif sinon. |
📌 Quand utiliser strcmp()
?
✅ Quand tu veux trier des mots dans l’ordre alphabétique.
✅ Quand tu veux savoir si deux chaînes sont strictement identiques.
✅ Quand tu fais une comparaison précise en tenant compte des majuscules/minuscules.
strlen()
La fonction strlen()
permet de compter le nombre de caractères dans une chaîne de texte, y compris les espaces et la ponctuation.
C’est utile pour vérifier la longueur d’un mot de passe, limiter la taille d’un message ou encore s’assurer qu’un champ est rempli correctement.
Compter le nombre de caractères d’un texte
$texte = "Bonjour !";
$longueur = strlen($texte);
echo "Le texte contient $longueur caractères.";
💡 Résultat affiché :
Le texte contient 9 caractères.
« Bonjour ! » contient 9 caractères (les 7 lettres, le point d’exclamation et l’espace).
Vérifier la longueur d’un mot de passe
Imaginons un formulaire où l’on demande un mot de passe d’au moins 8 caractères. On peut utiliser strlen()
pour vérifier sa longueur.
$mot_de_passe = "abc123";
if (strlen($mot_de_passe) < 8) {
echo "Erreur : le mot de passe doit contenir au moins 8 caractères.";
} else {
echo "Mot de passe valide ✅";
}
💡 Résultat affiché :
Erreur : le mot de passe doit contenir au moins 8 caractères.
✅ Pourquoi ?abc123
ne fait que 6 caractères, donc il est trop court.
Quand utiliser strlen()
?
✅ Pour vérifier la longueur d’un texte (ex : noms, messages, commentaires).
✅ Pour contrôler un mot de passe avant enregistrement.
✅ Pour limiter l’affichage d’un texte dans une interface utilisateur.
strpos()
La fonction strpos()
permet de trouver la position d’un mot ou d’un caractère dans une chaîne de texte.
✅ Utile pour savoir si un mot est présent dans une phrase et à quelle position il commence.
Comment ça fonctionne ?
strpos(chaine, mot_recherche);
chaine
→ La chaîne de caractères où chercher.mot_recherche
→ Le texte ou caractère à chercher.- Retourne la position où il commence (0 pour le début, 1 pour le 2e caractère, etc.).
- Retourne
false
si le texte n’est pas trouvé.
Exemple : Vérifier si un e-mail contient « gmail.com »
Imaginons qu’on veut savoir si une adresse e-mail est une adresse Gmail.
$email = "utilisateur@gmail.com";
if (strpos($email, "gmail.com") !== false) {
echo "C'est une adresse Gmail ✅";
} else {
echo "Ce n'est pas une adresse Gmail ❌";
}
💡 Résultat affiché :
C'est une adresse Gmail ✅
Pourquoi strpos()
est important ?
✅ Vérifier si un texte contient un mot précis (ex : vérifier si une URL contient « https »).
✅ Rechercher un mot dans un document ou un commentaire.
✅ Analyser des e-mails, URLs ou messages pour filtrer certains contenus.
Attention aux erreurs courantes !
⚠ Ne pas utiliser == false
pour tester strpos()
strpos()
peut retourner 0 (si le mot est trouvé au début), et 0 == false
serait faux positif.
Toujours utiliser !== false
pour être précis.
str_replace()
La fonction str_replace()
permet de remplacer un mot ou un caractère dans une chaîne de texte par un autre.
✅ Utile pour corriger du texte, censurer des mots, ou formater une phrase.
Comment ça fonctionne ?
str_replace(chercher, remplacer, chaine);
chercher
→ Le mot ou caractère à remplacer.remplacer
→ Le texte qui va le remplacer.chaine
→ Le texte où faire la modification.- Retourne la nouvelle chaîne modifiée.
Exemple : Censurer des mots interdits
Imaginons que nous avons un message d’utilisateur, et nous voulons remplacer les gros mots par ***
.
$message = "Ce site est nul et pourri !";
// Liste des mots interdits à remplacer
$mots_interdits = ["nul", "pourri"];
$remplacement = "***"; // Texte de censure
$message_propre = str_replace($mots_interdits, $remplacement, $message);
echo $message_propre;
💡 Résultat affiché :
Ce site est *** et *** !
Pourquoi utiliser str_replace()
?
✅ Corriger du texte automatiquement (ex : remplacer « é » par « e » dans un fichier).
✅ Filtrer du contenu sensible (ex : censurer des insultes).
✅ Modifier une URL ou un format de données (ex : remplacer -
par /
dans une date).
strrev()
La fonction strrev()
permet d’inverser une chaîne de caractères. C’est comme si on écrivait un mot ou une phrase à l’envers.
Exemple simple : Inverser un mot
$mot = "bonjour";
$mot_inverse = strrev($mot);
echo $mot_inverse;
💡 Résultat affiché :
ruojnob
Exemple unique : Vérifier si un mot est un palindrome
Un palindrome est un mot qui se lit de la même façon à l’endroit et à l’envers (comme « radar », « kayak » ou « ressasser »).
On peut utiliser strrev()
pour tester cela :
$mot = "radar";
$mot_inverse = strrev($mot);
if ($mot == $mot_inverse) {
echo "$mot est un palindrome !";
} else {
echo "$mot n'est pas un palindrome.";
}
💡 Résultat affiché :
radar est un palindrome !
✅ Pourquoi ?
On compare le mot d’origine avec sa version inversée. S’ils sont identiques, c’est un palindrome.
Exemple avec une phrase entière
Si on inverse une phrase complète, l’ordre des mots reste le même, mais les lettres de chaque mot sont inversées.
$phrase = "Bonjour tout le monde";
$phrase_inverse = strrev($phrase);
echo $phrase_inverse;
💡 Résultat affiché :
ednom el tuot ruojnoB
✅ Pourquoi ?strrev()
inverse tous les caractères sans tenir compte des mots.
Quand utiliser strrev()
?
✅ Pour vérifier un palindrome (comme dans l’exemple).
✅ Pour créer des effets visuels amusants sur du texte.
✅ Pour générer des chaînes de caractères codées (exemple : masquer un texte en le renversant).
str_split()
La fonction str_split()
permet de couper une chaîne de caractères en petits morceaux, sous forme d’un tableau.
✅ Utile pour séparer un mot lettre par lettre, ou diviser une phrase en segments de taille fixe.
Comment ça fonctionne ?
str_split(chaine, taille);
chaine
→ Le texte à découper.taille
(optionnel) → Nombre de caractères par morceau (par défaut : 1).- Retourne un tableau avec les morceaux du texte.
Exemple : Diviser un numéro de carte bancaire en groupes de 4 chiffres
Imaginons que nous avons un numéro de carte sans espaces et que nous voulons l’afficher en format lisible.
$carte = "1234567812345678";
// Découper tous les 4 caractères
$segments = str_split($carte, 4);
// Joindre avec des espaces
$carte_formattee = implode(" ", $segments);
echo $carte_formattee;
💡 Résultat affiché :
1234 5678 1234 5678
Pourquoi utiliser str_split()
?
✅ Découper un mot en lettres séparées (ex : transformer "hello"
en ["h", "e", "l", "l", "o"]
).
✅ Former des groupes pour mieux lire un code ou un numéro (ex : numéro IBAN, téléphone).
✅ Préparer un texte pour un affichage en colonnes ou sur plusieurs lignes.
strtolower()
La fonction strtolower()
permet de transformer une chaîne de caractères en minuscules.
C’est utile quand on veut uniformiser un texte, par exemple pour comparer deux mots sans tenir compte des majuscules.
Exemple simple : Transformer un mot en minuscules
$texte = "Bonjour TOUT LE MONDE !";
$texte_minuscule = strtolower($texte);
echo $texte_minuscule;
💡 Résultat affiché :
bonjour tout le monde !
✅ Pourquoi ?
Toutes les lettres majuscules ont été transformées en minuscules.
Vérifier un mot de passe sans tenir compte des majuscules
Imaginons que l’utilisateur entre un mot de passe, mais on veut qu’il soit accepté même s’il mélange majuscules et minuscules.
$mot_de_passe_sauvegarde = "MonSuperMotDePasse";
$saisie_utilisateur = "monsupermotdepasse";
if (strtolower($mot_de_passe_sauvegarde) == strtolower($saisie_utilisateur)) {
echo "Mot de passe correct ✅";
} else {
echo "Mot de passe incorrect ❌";
}
💡 Résultat affiché :
Mot de passe correct ✅
✅ Pourquoi ?
On transforme les deux mots de passe en minuscules avant de les comparer, pour éviter les erreurs dues aux majuscules.
Quand utiliser strtolower()
?
✅ Pour uniformiser les textes avant comparaison.
✅ Pour vérifier une entrée utilisateur sans se soucier des majuscules.
✅ Pour afficher du texte en minuscules sans modifier l’original.
strtoupper()
La fonction strtoupper()
permet de transformer une chaîne de caractères en majuscules.
C’est utile pour afficher un texte en lettres capitales, par exemple pour des titres ou des noms propres.
Transformer un texte en majuscules
$texte = "Bonjour tout le monde !";
$texte_majuscules = strtoupper($texte);
echo $texte_majuscules;
💡 Résultat affiché :
BONJOUR TOUT LE MONDE !
Toutes les lettres sont maintenant en majuscules.
Afficher un nom en majuscules dans un email automatique
Imaginons un site où un utilisateur entre son prénom. On veut afficher son prénom en majuscules dans un email automatique pour le mettre en valeur.
$prenom = "Alban";
$message = "Bonjour " . strtoupper($prenom) . ", bienvenue sur notre site !";
echo $message;
💡 Résultat affiché :
Bonjour ALBAN, bienvenue sur notre site !
Le prénom est mis en majuscules pour être plus visible et marquer une importance.
Quand utiliser strtoupper()
?
✅ Pour uniformiser du texte en majuscules (titres, noms, codes…).
✅ Pour mettre en valeur un mot ou un nom propre.
✅ Pour convertir un texte saisi en minuscules en majuscules automatiquement.
str_word_count()
La fonction str_word_count()
permet de compter le nombre de mots dans une chaîne de texte. Elle peut aussi retourner un tableau contenant tous les mots trouvés.
📌 Utilisation de base, compter les mots :
$texte = "Bonjour, comment vas-tu aujourd'hui ?";
$nombre_mots = str_word_count($texte);
echo "Nombre de mots : $nombre_mots";
💡 Résultat affiché :
Nombre de mots : 5
✅ Pourquoi ?
La fonction détecte les mots suivants : "Bonjour"
, "comment"
, "vas"
, "tu"
, "aujourd'hui"
.
Obtenir les mots sous forme de tablea
Si on veut récupérer chaque mot séparément, on peut utiliser le mode 1
:
$texte = "PHP est un langage puissant et flexible.";
$mots = str_word_count($texte, 1);
print_r($mots);
💡 Résultat affiché :
Array
(
[0] => PHP
[1] => est
[2] => un
[3] => langage
[4] => puissant
[5] => et
[6] => flexible
)
✅ Pourquoi ?str_word_count($texte, 1)
retourne un tableau contenant chaque mot individuellement.
Obtenir la position de chaque mot
Si on veut savoir où chaque mot commence, on peut utiliser le mode 2
:
$texte = "Le soleil brille aujourd'hui.";
$mots_positions = str_word_count($texte, 2);
print_r($mots_positions);
💡 Résultat affiché :
Array
(
[0] => Le
[3] => soleil
[10] => brille
[17] => aujourd'hui
)
✅ Pourquoi ?
📌 str_word_count($texte, 2)
retourne un tableau associatif où la clé est la position du mot dans la phrase.
Personnaliser les caractères considérés comme des mots
Par défaut, str_word_count()
considère uniquement les lettres et les chiffres comme des parties d’un mot. Mais on peut lui dire d’accepter d’autres caractères en les ajoutant en troisième paramètre.
Exemple : Garder les apostrophes ('
) et les tirets (-
) dans les mots :
$texte = "C'est l'été en plein après-midi.";
$mots = str_word_count($texte, 1, "'-");
print_r($mots);
💡 Résultat affiché :
Array
(
[0] => C'est
[1] => l'été
[2] => en
[3] => plein
[4] => après-midi
)
✅ Pourquoi ?
En ajoutant "'-"
en troisième paramètre, on autorise les apostrophes et les tirets dans les mots.
Résumé :
Mode | Description |
---|---|
str_word_count($texte, 0) | Retourne uniquement le nombre de mots. |
str_word_count($texte, 1) | Retourne un tableau contenant chaque mot séparément. |
str_word_count($texte, 2) | Retourne un tableau associatif avec les positions des mots. |
str_word_count($texte, 1, "'-") | Autorise les apostrophes et tirets dans les mots. |
Quand utiliser str_word_count()
?
✅ Pour compter le nombre de mots dans un texte (statistiques, résumé…).
✅ Pour extraire les mots d’une phrase et les analyser.
✅ Pour retrouver les positions des mots dans un texte.
substr()
La fonction substr()
permet de récupérer une partie d’une chaîne de caractères en précisant la position de départ et (optionnellement) la longueur.
✅ Utile pour extraire un mot, un bout de phrase, ou masquer une partie d’un texte (ex : masquer un numéro de carte bancaire).
Comment ça fonctionne ?
substr(chaine, position_de_depart, longueur_optionnelle);
chaine
→ La chaîne de caractères à découper.position_de_depart
→ La position où commence l’extraction (0 pour le début, -1 pour le dernier caractère).longueur_optionnelle
→ Le nombre de caractères à extraire (si non précisé, prend tout jusqu’à la fin).
Exemple : Masquer une partie d’un numéro de carte bancaire
Imaginons qu’on affiche les 4 derniers chiffres d’une carte bancaire, en masquant le reste avec des *
.
$carte = "1234567812345678"; // Numéro de carte bancaire
$dernier_chiffres = substr($carte, -4); // Récupère les 4 derniers chiffres
$masque = str_repeat("*", strlen($carte) - 4); // Crée un masque avec des *
$carte_masquee = $masque . $dernier_chiffres; // Assemble le tout
echo "Carte : $carte_masquee";
💡 Résultat affiché :
Modifier Carte : ************5678
✅ Pourquoi ?
📌 substr($carte, -4)
récupère « 5678 » (les 4 derniers chiffres).
📌 str_repeat("*", strlen($carte) - 4)
génère 12 étoiles (*
) pour cacher le début.
📌 On assemble les étoiles + les chiffres visibles.
Quand utiliser substr()
?
✅ Extraire une partie d’un texte (ex : prendre les 10 premiers caractères d’un message).
✅ Masquer des données sensibles (ex : carte bancaire, numéro de téléphone).
✅ Créer des aperçus (ex : afficher les 100 premiers caractères d’un article).
trim()
La fonction trim()
sert à supprimer les espaces et certains caractères au début et à la fin d’une chaîne de texte.
📌 Pourquoi c’est utile ?
- Évite les erreurs quand on compare ou stocke du texte.
- Nettoie les entrées d’un formulaire pour éviter les espaces en trop.
$texte = " Bonjour Alban ! ";
// Espaces avant et après
$texte_nettoye = trim($texte);
echo "Avant : '$texte'\n";
echo "Après : '$texte_nettoye'";
💡 Résultat affiché :
Avant : ' Bonjour Alban ! '
Après : 'Bonjour Alban !'
✅ Les espaces avant et après ont disparu, mais pas ceux au milieu.
Exemple avec suppression d’autres caractères
Tu peux aussi supprimer d’autres caractères spécifiques, comme des points, des barres, des zéros…
$texte = "///Bienvenue///";
$texte_nettoye = trim($texte, "/"); // Enlève les "/"
echo $texte_nettoye;
💡 Résultat affiché :
Bienvenue
✅ Seuls les /
au début et à la fin sont supprimés.
Différence avec ltrim()
et rtrim()
trim()
→ Enlève les caractères au début et à la fin.ltrim()
→ Enlève seulement au début.rtrim()
→ Enlève seulement à la fin.
Quand utiliser trim()
?
✅ Pour nettoyer les entrées d’un formulaire (ex. nom, email, etc.).
✅ Pour éviter les espaces en trop dans un fichier ou une base de données.
✅ Pour comparer deux chaînes sans erreurs liées aux espaces.
ucfirst()
La fonction ucfirst()
prend une chaîne de texte et met seulement la première lettre en majuscule, sans toucher aux autres lettres.
$texte = "bonjour alban"; // La première lettre est en minuscule
$texte_modifie = ucfirst($texte);
echo $texte_modifie;
💡 Résultat affiché :
Bonjour alban
✅ Seule la première lettre « b » devient « B », les autres restent inchangées.
Attention avec les accents !
Si le premier caractère est une lettre accentuée, ucfirst()
ne fonctionne pas correctement.
📌 Exemple avec un accent :
$texte = "école informatique";
$texte_modifie = ucfirst($texte);
echo $texte_modifie;
💡 Résultat affiché :
école informatique
🚫 L’accent empêche ucfirst()
de fonctionner correctement.
✅ Solution avec mb_convert_case()
(UTF-8)
Si ton texte contient des lettres avec accents, utilise mb_convert_case()
avec l’option MB_CASE_TITLE
:
$texte = "école informatique";
$texte_modifie = mb_convert_case($texte, MB_CASE_TITLE, "UTF-8");
echo $texte_modifie;
💡 Résultat affiché :
École Informatique
Les lettres accentuées sont bien prises en compte !
Résumé
Fonction | Effet |
---|---|
ucfirst() | Met la première lettre en majuscule, mais ne gère pas les accents. |
mb_convert_case($texte, MB_CASE_TITLE, "UTF-8") | Met chaque mot en majuscule, y compris les lettres accentuées. |
Pour toutes précisions, consultez le site officiel php.net.
Foire Aux Questions (FAQ) sur les Fonctions de Chaîne en PHP
Quelles sont les fonctions de chaîne PHP les plus couramment utilisées ?
Les fonctions de chaîne PHP sont essentielles pour manipuler et traiter les chaînes de caractères en PHP. Parmi les plus couramment utilisées, on retrouve :
- strlen() : Retourne la longueur d’une chaîne.
- strpos() : Trouve la position de la première occurrence d’une sous-chaîne dans une chaîne.
- str_replace() : Remplace certains caractères par d’autres dans une chaîne.
- substr() : Retourne une partie d’une chaîne.
Comment convertir une chaîne en majuscules en PHP ?
Pour convertir une chaîne en majuscules en PHP, utilisez la fonction strtoupper(). Cette fonction prend une chaîne en argument et retourne la version en majuscules.
$str = "Hello World!";
echo strtoupper($str);
Sortie :
HELLO WORLD!
Comment inverser une chaîne en PHP ?
La fonction strrev() permet d’inverser une chaîne en PHP.
$str = "Hello World!";
echo strrev($str);
Sortie :
!dlroW olleH
Comment compter le nombre de mots dans une chaîne en PHP ?
La fonction str_word_count() compte le nombre de mots dans une chaîne.
$str = "Hello World!";
echo str_word_count($str);
Sortie :
2
Comment comparer deux chaînes en PHP ?
La fonction strcmp() est utilisée pour comparer deux chaînes. Elle retourne :
- 0 si les chaînes sont égales.
- Un nombre négatif si la première chaîne est inférieure à la seconde.
- Un nombre positif si la première chaîne est supérieure à la seconde.
$str1 = "Hello";
$str2 = "World";
echo strcmp($str1, $str2);
Comment diviser une chaîne en un tableau en PHP ?
La fonction explode() permet de diviser une chaîne en un tableau en utilisant un délimiteur.
$str = "Hello World!";
print_r(explode(" ", $str));
Sortie :
Array ( [0] => Hello [1] => World! )
Comment joindre les éléments d’un tableau en une chaîne en PHP ?
La fonction implode() permet de fusionner les éléments d’un tableau en une seule chaîne.
$arr = array('Hello', 'World!');
echo implode(" ", $arr);
Sortie :
Hello World!
Comment supprimer les espaces blancs dans une chaîne en PHP ?
La fonction trim() permet de supprimer les espaces au début et à la fin d’une chaîne.
$str = " Hello World! ";
echo trim($str);
Sortie :
Hello World!
Comment trouver la première occurrence d’une sous-chaîne dans une chaîne en PHP ?
La fonction strpos() permet de trouver la première occurrence d’une sous-chaîne.
$str = "Hello World!";
echo strpos($str, "World");
Sortie :
6
Comment remplacer certains caractères dans une chaîne en PHP ?
La fonction str_replace() permet de remplacer certaines parties d’une chaîne par d’autres.
$str = "Hello World!";
echo str_replace("World", "Dolly", $str);
Sortie :
Hello Dolly!
- 🔥 Vendredi 25 Avril 2025 >19h00
HTML & SémantiqueStructure d'une page HTML