Bonjour,
Je cherche à obtenir avec cette chaine
cHaine1 Chaine 2 ChAInE3 ce résultat:
CHAINE1 Chaine2 Chaine3
C'est à dire 1er mot en majuscules ainsi que l'initiale des suivants. Tout le reste en minuscules
Merci d'avance de votre aide
Version imprimable
Bonjour,
Je cherche à obtenir avec cette chaine
cHaine1 Chaine 2 ChAInE3 ce résultat:
CHAINE1 Chaine2 Chaine3
C'est à dire 1er mot en majuscules ainsi que l'initiale des suivants. Tout le reste en minuscules
Merci d'avance de votre aide
Bonjour
Il existe des fonctions php comme strtoupper et ucwords pour ce genre de choses.
Bonjour,
Tu fais un explode de ta chaine en plusieurs segments
Premier segment en majuscules par strtoupper,
Les autres avec une expression régulière.
juste pour le fun:
il est possible egalement de le faire avec une seul reg et un explode dasn le callback suivi d'un arraymapCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?php header('Content-Type: text/html; charset=utf-8'); function bar($matches){ $res= strtoupper($matches[0]); return $res; } function foo($matches){ $res= ucfirst(strtolower($matches[0])); return $res; } $chaine="cHaine1 Chaine2 ChAInE3"; $reg2="#\w+#ui"; $res=preg_replace_callback($reg2,"foo",$chaine); $reg="#^[a-z0-9]+#ui"; $res=preg_replace_callback($reg,"bar",$res); ?> <!DOCTYPE html PUBLIC "-//WC//DTD XHTML 1.0 Strict//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3c.or/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> </tile> </head> <body> <?php echo $res; ?> </body> </html>