Remplacé le premier caractère d'une chaine
7 messages
• Page 1 sur 1
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
Remplacé le premier caractère d'une chaine
Comment remplacer le premier caractère d'une chaîne par un autre, en fonction de ce premier caractère ?
Je ne trouve pas de fonctions à ce sujet.
Je ne trouve pas de fonctions à ce sujet.
Dernière édition par medium69 le Mar Oct 04, 2005 21:52, édité 1 fois.
- dmathieu
- Modérateur

- Messages: 7244
- Inscription: 9 Jan 2004
une chaine de caracteres peut etre interpretée comme un tableau de caracteres.
en conséquent,
ceci aura pour effet de mettre comme premier caractere à $var le caractere p
ps, c'est remplacer
en conséquent,
- Code: Tout sélectionner
$var[0] = 'p';
ceci aura pour effet de mettre comme premier caractere à $var le caractere p
ps, c'est remplacer
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
Pour prendre un exemple concret :
j'ai une variable
je veux mettre la première lettre en majuscule...
Je me sert habituellement de ucfirst($var).
Mais dans le cas d'une variable avec un caractère accentué ?
j'ai une variable
- Code: Tout sélectionner
$var = 'égypte'
je veux mettre la première lettre en majuscule...
Je me sert habituellement de ucfirst($var).
Mais dans le cas d'une variable avec un caractère accentué ?
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
justement, il ne le gère pas
ça reste en minuscule
http://www.php.net/manual/fr/function.ucfirst.php
ça reste en minuscule
http://www.php.net/manual/fr/function.ucfirst.php
- dmathieu
- Modérateur

- Messages: 7244
- Inscription: 9 Jan 2004
- Code: Tout sélectionner
$var = 'égypte';
$array1 = array('é', 'è');
$array2 = array('É', 'E');
if ($k = array_search($var[0], $array1)) {
$var[0] = $array2[$k];
} else {
$var = ucfirst($var);
}
fait de tete.
je pense que ca devrait fonctionner. tu place tous tes caracteres spéciaux dans $array1, et les memes caracteres, en normal, dans $array2 (j'ai pas retrouvé le code caractere du è majuscule dsl)
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
Ta solution ne marchait pas mais je m'en suis inspiré :
Comme cela ça marche nickel
- Code: Tout sélectionner
$var = ucfirst($chaine);
$var = strtr($var[0], 'é, è', 'É, È');
$var .= substr($chaine, 1);
Comme cela ça marche nickel
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Probleme preg_replace - remplace chaine par une autre dans un texte
- detection de chaine de caractère
- Nettoyer une chaine de caractère
- Nettoyer le BBcode d'une chaine de caractère
- eregi sur une chaine de caractère
- rewriting d'un nombre en chaine de caractère
- Contrôle d'une chaine de caractère en PHP ?
- convertir un nombre numerique en chaine de caractere
- Php fonction sur chaine de caractere
- extraire variable indépendant dans chaine de caractere
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
