Chapitre 16 : Chaînes de caractères

Maîtrisez la manipulation des chaînes de caractères en PHP avec ce chapitre complet. Découvrez les fonctions essentielles pour travailler efficacement avec du texte.

1. Introduction aux chaînes de caractères

Les chaînes de caractères (string) sont omniprésentes en PHP. Elles permettent de gérer du texte : noms, messages, emails, etc. PHP offre de nombreuses fonctions pour les manipuler facilement.

2. Concaténation de chaînes

Pour assembler plusieurs morceaux de texte, on utilise l'opérateur . :

<?php
  $prenom = "Ahmed";
  $salutation = "Bonjour " . $prenom;
  echo $salutation; // Affiche "Bonjour Ahmed"
?>

3. Longueur d'une chaîne

Utilisez strlen() pour obtenir la longueur d'une chaîne (en octets) :

<?php
  echo strlen("Hello"); // Affiche 5
?>
Pour les chaînes UTF-8 : Utilisez plutôt mb_strlen() pour compter correctement les caractères accentués ou spéciaux.

5. Extraction d'une sous-chaîne

La fonction substr() permet d'extraire une portion de chaîne :

<?php
  echo substr("programmation", 0, 7); // Affiche "program"
?>

Vous pouvez utiliser des valeurs négatives pour compter à partir de la fin de la chaîne.

6. Transformation de chaînes

PHP offre plusieurs fonctions pour transformer les chaînes :

  • strtoupper() : convertit en majuscules
  • strtolower() : convertit en minuscules
  • ucfirst() : met la première lettre en majuscule
  • trim() : supprime les espaces en début et fin
  • str_replace() : remplace une sous-chaîne
<?php
  $nom = " Sami ";
  $nom = trim($nom);
  echo ucfirst(strtolower($nom)); // Affiche "Sami"
?>

7. Sécurité et affichage

Pour éviter les injections HTML, utilisez htmlspecialchars() :

<?php
  $input = "<script>alert(1)</script>";
  echo htmlspecialchars($input);
// Affiche "&lt;script&gt;alert(1)&lt;/script&gt;"
?>
Bonnes pratiques : Toujours échapper les données avant de les afficher dans une page HTML pour prévenir les attaques XSS.

8. À retenir

  • La concaténation se fait avec l'opérateur .
  • strlen() et mb_strlen() pour obtenir la longueur d'une chaîne
  • strpos() pour rechercher du texte dans une chaîne
  • substr() pour extraire une portion de chaîne
  • Toujours utiliser htmlspecialchars() pour sécuriser l'affichage

9. Exercices proposés

  1. Écrire une fonction qui tronque un texte à 100 caractères maximum.
  2. Créer une fonction emailValide() qui vérifie la présence de @.
  3. Créer une chaîne formatée à partir de variables ("Bonjour Ahmed, bienvenue à Paris.").

10. Ce que vous apprendrez ensuite

Dans le chapitre 17, vous apprendrez à manipuler les dates et heures avec PHP : afficher la date actuelle, calculer des durées, formater une date, gérer les fuseaux horaires, etc.