0Pricing
PHP Academy · Leçon

Remplacer du texte avec preg_replace

Remplacer les correspondances avec des chaînes de remplacement et des références arrière.

Remplacer du texte avec preg_replace est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Signature de preg_replace()

preg_replace($pattern, $replacement, $subject) renvoie la chaîne à traiter après avoir remplacé toutes les correspondances. Transmettez un tableau de chaînes à traiter pour en traiter plusieurs à la fois.

Remplacement simple

Remplacez tous les chiffres d'une chaîne par un astérisque.

<?php
$result = preg_replace('/\d/', '*', 'Order #12345');
echo $result; // "Order #*****"

Références arrière dans un remplacement

Utilisez $1, $2... (ou \1, \2) pour insérer les groupes capturés dans la chaîne de remplacement.

<?php
$result = preg_replace('/^(\w+)\s(\w+)$/', '$2, $1', 'John Smith');
echo $result; // "Smith, John"

Références arrière nommées

Les groupes de capture nommés peuvent être référencés avec ${name} dans le remplacement.

<?php
$result = preg_replace(
    '/(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})/',
    '${day}/${month}/${year}',
    '2025-06-15'
);
echo $result; // "15/06/2025"

Remplacer plusieurs motifs

Transmettez des tableaux de motifs et de remplacements pour traiter plusieurs règles à la fois.

<?php
$result = preg_replace(
    ['/foo/', '/bar/'],
    ['baz',   'qux'],
    'foo and bar'
);
echo $result; // "baz and qux"

Paramètre de limite

Le quatrième paramètre limite le nombre de substitutions effectuées. Transmettez -1 pour un nombre illimité (valeur par défaut).

<?php
$result = preg_replace('/a/', 'X', 'banana', 2);
echo $result; // "bXnXna"

Paramètre de comptage

Transmettez une cinquième variable pour recevoir le nombre de remplacements effectués.

<?php
$count  = 0;
$result = preg_replace('/e/', '3', 'hello everyone', -1, $count);
echo "$count replacements"; // "3 replacements"

preg_replace_callback()

Lorsque la logique de remplacement est complexe, utilisez preg_replace_callback() pour traiter chaque correspondance avec une fermeture.

<?php
$result = preg_replace_callback(
    '/\d+/',
    fn($m) => $m[0] * 2,
    'Item: 5, Qty: 3'
);
echo $result; // "Item: 10, Qty: 6"

Exemple de suppression des balises HTML

Supprimez toutes les balises HTML avec une expression régulière simple (utilisez strip_tags() en production).

<?php
$clean = preg_replace('/<[^>]+>/', '', '<b>Hello</b> World');
echo $clean; // "Hello World"

Convertir une chaîne en identifiant compatible avec les URL

Convertissez un titre en identifiant compatible avec les URL.

<?php
function slugify(string $s): string {
    $s = strtolower($s);
    $s = preg_replace('/[^a-z0-9]+/', '-', $s);
    return trim($s, '-');
}
echo slugify('Hello World!'); // "hello-world"

Remarque sur les performances

Gardez les motifs simples et évitez les retours arrière catastrophiques. Utilisez preg_replace_callback pour les transformations complexes plutôt que d'empiler plusieurs appels à preg_replace.

Différence avec str_replace

str_replace est plus rapide pour remplacer du texte brut. Utilisez preg_replace uniquement lorsque vous avez besoin de la puissance d'un motif d'expression régulière.

Résumé

preg_replace remplace toutes les correspondances d'un motif. Utilisez les références arrière ($1) pour réutiliser les groupes capturés. Utilisez preg_replace_callback lorsque la logique de remplacement est dynamique.

Vérification rapide

Comment référencer le premier groupe de capture dans une chaîne de remplacement de preg_replace ?

Questions Fréquemment Posées

La leçon « Remplacer du texte avec preg_replace » est-elle gratuite ?

Oui — le texte complet de « Remplacer du texte avec preg_replace » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Remplacer du texte avec preg_replace » ?

Remplacer les correspondances avec des chaînes de remplacement et des références arrière. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Remplacer du texte avec preg_replace » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Principes fondamentaux de la syntaxe des expressions régulières
  2. Effectuer des correspondances avec preg_match
  3. Remplacer du texte avec preg_replace
  4. Découpage et motifs pratiques
← Retour à PHP Academy