Page 1 sur 1

Changer la casse d'un caractère

Posté : 30 sept. 2016, 12:31
par fitnopk
Bonjour bonjour,

Je suis de retour avec un problème stupide. En fait je traite les noms et prénoms de plusieurs personne.
Si c'est un nom, je fais un strtoupper, et si c'est un prénom, un strlower, le problème c'est que strtolower me met tout en minuscule mais je veux garder la majuscule en début de prénom.

Débarquant tout droit du C, j'ai bien essayé un -= 32 sur le caractère, mais php a pas l'air d'aimer, du coup je ne vois pas très bien comme on est supposer faire ça en php :|

Code : Tout sélectionner

function checkContactName(&$line) { if (empty($line[11]) || !preg_match('#[A-Za-z]#', $line[11])) { $line[11] = "TBD"; } else { $line[11] = strtolower(trim($line[11])); $line[11][0] -= 32; } if (empty($line[12]) || !preg_match('#[A-Za-z]#', $line[12])) { $line[12] = "TBD"; } else { $line[12] = strtoupper(trim($line[12])); } }

Re: Changer la casse d'un caractère

Posté : 30 sept. 2016, 12:38
par moogli
salut,

as tu simplement essayé
<?php
 $line[11][0] = strtoupper( $line[11][0]);
exemple
<?php
 $line[11] = 'toto';
 $line[11][0] = strtoupper($line[11][0]);
var_dump($line);
retourne Toto

@+

Re: Changer la casse d'un caractère

Posté : 30 sept. 2016, 13:54
par fitnopk
salut,

as tu simplement essayé
<?php
 $line[11][0] = strtoupper( $line[11][0]);
exemple
<?php
 $line[11] = 'toto';
 $line[11][0] = strtoupper($line[11][0]);
var_dump($line);
retourne Toto

@+
Ah, ouai, j'ai tendance à oublier qu'un caractère c'est une chaine de caractères de 1 caractère, du coup quand ça demande un string je pense pas forcément au fait que ça puisse marcher avec un simple caractère :roll:
Thanks

Re: [RESOLU] Changer la casse d'un caractère

Posté : 30 sept. 2016, 14:20
par or 1
un prénom peut-être composé.
il existe la fonction http://php.net/manual/fr/function.ucwords.php