8.127 Chaînes de caractères (Strings)
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Constantes pré-définies . Voir aussi . addcslashes . addslashes . bin2hex . chop . chr . chunk_split . convert_cyr_string . convert_uudecode . convert_uuencode . count_chars . crc32 . crypt . echo . explode . fprintf . get_html_translation_table . hebrev . hebrevc . html_entity_decode . htmlentities . htmlspecialchars_decode . htmlspecialchars . implode . join . levenshtein . localeconv . ltrim . md5_file . md5 . metaphone . money_format . nl_langinfo . nl2br . number_format . ord . parse_str . print . printf . quoted_printable_decode . quotemeta . rtrim . setlocale . sha1_file . sha1 . similar_text . soundex . sprintf . sscanf . str_ireplace . str_pad . str_repeat ->str_replace . str_rot13 . str_shuffle . str_split . str_word_count . strcasecmp . strchr . strcmp . strcoll . strcspn . strip_tags . stripcslashes . stripos . stripslashes . stristr . strlen . strnatcasecmp . strnatcmp . strncasecmp . strncmp . strpbrk . strpos . strrchr . strrev . strripos . strrpos . strspn . strstr . strtok . strtolower . strtoupper . strtr . substr_compare . substr_count . substr_replace . substr . trim . ucfirst . ucwords . vfprintf . vprintf . vsprintf . wordwrap
|
8.127.57 str_replace()
Remplace toutes les occurrences dans une chaîne
[ Exemples avec str_replace ] PHP 3 >= 3.0.6, PHP 4, PHP 5
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.
| Attention | |
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.
| 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 ?>
|
| 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
,
ereg_replace
,
preg_replace
et
strtr
.
|