Se connecter / S'enregistrer

Résolu Strtoupper : comment mettre les lettres avec accent en majuscules ?

Solutions (6)
Tags :
  • Array
  • Php
  • string
  • Programmation
|
Bonjour

J'ai utlisé la fonction strtoupper pour transformer les minuscules en majuscules, le problème est que cela ne fonctionne pas pour les lettres avec accents

je voudrai par exemple que é devienne E ...

Pourriez vous m'aider

Merci
  • Meuniers a édité ce message
Contenus similaires
Meilleure solution
partage
|
Oui, je peux :) 
  1. <?php
  2. function strtoupperFr($string) {
  3. $string = strtoupper($string);
  4. $string = str_replace(
  5. array('é', 'è', 'ê', 'ë', 'à', 'â', 'î', 'ï', 'ô', 'ù', 'û'),
  6. array('É', 'È', 'Ê', 'Ë', 'À', 'Â', 'Î', 'Ï', 'Ô', 'Ù', 'Û'),
  7. $string
  8. );
  9. return $string;
  10. }


Et tu utilises strtoupperFr() à la place de strtoupper().
  • Commenter cette solution |
Score
1
òh
òi
|
Bonjour,

Il est aussi possible d'utiliser la fonction mb_strtoupper (Manuel => http://php.net/manual/fr/function.mb-strtoupper.php). L'avantage de cette fonction réside sur la conversion des lettres accentuées selon le format utilisé.

Exemple

<?php
$accent='éèà';

echo 'mb_strtoupper($accent, 'UTF-8')';

// AFFICHAGE : ÉÈÀ
?>
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour, j'ai eu le même problème que Anthebest sur mon site où j'ai du afficher des titres de films en majuscule alors qu'ils sont enregistrés en minuscule dans la base de donnée.

Je voulais donc que les accents soient conservés en majuscule et j'ai trouvé cette fonction de Crazycat@Idn plus haut dans ce post.

<?php

function strtoupperFr($string) {

$string = strtoupper($string);
$string = str_replace(

array('é', 'è', 'ê', 'ë', 'à', 'â', 'î', 'ï', 'ô', 'ù', 'û'),
array('É', 'È', 'Ê', 'Ë', 'À', 'Â', 'Î', 'Ï', 'Ô', 'Ù', 'Û'),

$string
);
return $string;
}

Et tout fonctionne parfaitement ... sauf pour les "è" et les "à" qui ne sont pas remplacés.
Je ne décèle pas d'erreur dans la fonction et je ne comprends donc pas pourquoi les lettres avec un accent grave ne sont pas remplacées.

D'avance merci si quelqu'un est en mesure de m'éclairer.

Urquart
  • Commenter cette réponse |
Score
0
òh
òi
|
merci
  • Commenter cette réponse |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par anthebest.
  • Commenter cette réponse |
Score
0
òh
òi
|
Simple et efficace ;) 
J'avais eu un probleme semblable avec la fonction ucfirst ( string $str );
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS