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,
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.
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.
Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]
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 arraymap
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Partager