Manuel PHP
Précédent |  | Suivant

# str_replace

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

str_replace -- Remplace toutes les occurrences dans une chaîne

## Description

mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )

str_replace() retourne une chaîne ou un tableau, dont toutes les occurrences de `search` dans `subject` ont été remplacées par `replace`. Si vous n'avez pas besoin de règles de remplacement compliquées, utilisez cette fonction de préférence à ereg_replace() et preg_replace().

Depuis PHP 4.0.5, chaque paramètre de str_replace() peut être un tableau.

Avertissement

Avant PHP 4.3.3, un bogue existait lors de l'utilisation de tableaux avec les paramètres `search` et `replace` en même temps. Les index de `search` qui étaient vides étaient ignorés, mais le pointeur interne de `replace` n'étais pas incrémenté. Cela a été corrigé en PHP 4.3.3, tout script s'appuyant sur ce bogue, doit supprimer les entrées vides avant d'appeler cette fonction pour imiter le comportement d'origine.

Si `subject` est un tableau, alors le remplacement se fera sur chaque élément de celui-ci, et la valeur retournée sera aussi un tableau.

Si `search` et `replace` sont des tableaux, alors str_replace() prendra une valeur de chaque tableau, et l'utilisera pour faire le remplacement dans `subject`. Si `replace` a moins de valeurs que `search`, alors une chaîne vide sera utilisée pour effectuer les remplacements. Si `search` est un tableau et que `replace` est une chaîne, alors la chaîne de remplacement sera utilisée pour chaque élément de `search`. Cependant, l'inverse n'aurait aucun sens.

Si `search` ou `replace` sont des tableaux, les éléments sont traités du premier, au dernier.

Exemple 1. Exemple avec str_replace()

`<?php
// Génère : <body text='black'>
echo $bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// Génère : Bnjr l mnd
$voyelles = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
echo $consonnes = str_replace($voyelles, "", "Bonjour le monde");
// Génère : Vous devriez manger des pizzas, des glaces et des gâteaux tous les jours.
$phrase = "Vous devriez manger des fruits, des légumes et des fibres tous les jours.";
$regime = array("fruits", "légumes", "fibres");
$bonne_chere = array("pizzas", "glaces", "gâteaux");
echo $newphrase = str_replace($regime, $bonne_chere, $phrase);
// Utilisation du compteur d'occurences en PHP 5.0.0
$str = str_replace("a", "", "La disparition est un lipogramme en E.", $count);
echo $count; // 3
// Ordre des remplacements
$str = "Ligne 1\nLigne 2\rLigne 3\r\nLigne 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';
// Traitement du premier \r\n, ils ne seront pas convertis deux fois.
$newstr = str_replace($order, $replace, $str);
?>`

> Note : Cette fonction gère les chaînes binaires.

> Note : Depuis PHP 5.0, le nombre de valeurs de `search` trouvées et remplacées seront retournées dans le paramètre `count` passé par référence. Avant PHP 5.0.0, ce paramètre n'est pas disponible.

Voir aussi str_ireplace(), substr_replace(), preg_replace() et strtr().

Précédent | Sommaire | Suivant
str_repeat | Niveau supérieur | str_rot13