### Remplacer un caractère

Nous avons vu la fonction substr_replace() qui remplace une chaîne à l'intérieur d'une autre chaîne. PHP fournit aussi la fonction strtr() qui permet de remplacer chaque occurence d'un caractère par un autre. Sous une première forme, la fonction accepte trois paramètres :

- la chaîne sur laquelle travailler
- le ou les caractères à remplacer
- le ou les caractères de remplacement.

Exemple : remplacement de caractères
<?php require('bib_fonctions.php'); htmlDebut('Remplacement de caractères'); $x = 'Le langage PHP'; echo '<h4>Chaîne de test</h4>', $x; echo '<h4>Remplace "a" par "b"</h4>'; $x = strtr($x, 'a', 'b'); echo $x; echo '<h4>Remplace "e" et "g" par "1" et "2"</h4>'; $x = strtr($x, 'eg', '12'); echo $x; htmlFin(); ?>

On peut aussi appeler la fonction strtr() avec seulement 2 paramètres :

- la chaîne sur laquelle travailler
- un tableau associatif contenant les paires de caractères à remplacer.

Ce qui est intéressant avec cette façon d'appeler la fonction, c'est qu'on peut remplacer un caractère par plusieurs, ou plusieurs par un, ou plusieurs par plusieurs.

Nous verrons en détail dans le chapitre suivant ce que sont les tableaux associatifs dans PHP. Dans un premier temps, voici un exemple qui devrait vous permettre de comprendre facilement :
array('a' => 'b', 'e' => '1', 'PHP' => 'HTML')
La fonction PHP array() crée un tableau dans lequel à la clé 'a' correspond l'élément 'b', à la clé 'e' correspond l'élément '1' et à la clé 'PHP' correspond l'élément 'HTML'.

Exemple : remplacement de caractères
<?php require('bib_fonctions.php'); htmlDebut('Remplacement de caractères'); $x = "Le langage PHP"; echo '<h4>Chaîne de test</h4>', $x; echo '<h4>Remplacement avec un tableau</h4>'; $t = array('a' => 'b', 'e' => '1', 'PHP' => 'HTML'); echo strtr($x, $t); htmlFin(); ?>

### Majuscules et minuscules

Des fonctions permettent de modifier les majuscules et les minuscules dans les chaînes.

- strtolower() et strtoupper() agissent sur l'ensemble de la chaîne.
- ucfirst() et ucwords() agissent sur les premiers caractères d'une chaîne, ou des mots dans une chaîne.

Exemple : majuscules et minuscules
<?php require('bib_fonctions.php'); htmlDebut('Majuscules et minuscules'); $x = 'le langage php'; echo '<h4>Avant tranformation</h4>', $x; $x = strtoupper($x); echo '<h4>Tout en majuscules</h4>', $x; $x = strtolower($x); echo '<h4>Toute en minuscules</h4>', $x; $x = ucfirst($x); echo '<h4>Premier caractère de la chaîne</h4>', $x; $x = ucwords($x); echo '<h4>Premier caractère des mots</h4>', $x; htmlFin(); ?>