begin process at 2010 03 21 19:26:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > MAJUSCULES ACCENTUÉES , FONCTION STROUPPER AMÉLIORÉE.

MAJUSCULES ACCENTUÉES , FONCTION STROUPPER AMÉLIORÉE.


 Information sur la source

Note :
2,5 / 10 - par 2 personnes
2,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caratère Classé sous :accentuation, majuscules, accentuer, stroupper Niveau :Débutant Date de création :11/06/2007 Date de mise à jour :11/06/2007 12:38:15 Vu :4 709

Auteur : Jits_

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

La strtoupper() en PHP renvoit la mêmes fonction que ci-dessous mais ignore les carractères accentués, par exemple stroupper(”écologie”) renvoit “éCOLOGIE” et même pas “ECOLOGIE” . Ces fonctions sont donc un moyen de remedier à ce problême, que le charset de votre page WEB ou de vos données soient en ISO ou en UTF-8.

Pouquoi accentuer les majuscules? Parfois le sens d'une phrase peut changer si ne vous le faites pas, par exemple ” je suis indigné ” deviendrait “ JE SUIS INDIGNE ” . En toute logique le français préconise donc l'accentuation des majuscules que ce soit sur le début d'un mot ou sur une phrase complète.

Source

  • <? php //fonction stroupper en français
  • function uc_strtoupper_fr($chaine)
  • {
  • $chaine=strtoupper($chaine);$chaine=utf8_decode($chaine);$chaine=trim($chaine);
  • $chaine = strtr($chaine, “äâàáåãéèëêòóôõöøìíîïùúûüýñçþÿæœðø”,”ÄÂÀÁÅÃÉÈËÊÒÓÔÕÖØÌÍÎÏÙÚÛÜÝÑÇÞÝÆŒÐØ”);
  • $chaine=utf8_encode($chaine);
  • return $chaine;
  • }
  • //Pour appeler la fonction:
  • echo uc_strtouper_fr($variable);
  • //par exemple
  • $variable=”je suis indigné”;
  • echo utf8_maj_fr($variable);
  • // renvoit : JE SUIS INDIGNÉ
  • /*Par défaut la fonction renvoit un chaîne encodée UTF-8, si vous voulez qu'à la sortie le mot soit encodé en ISO supprimez ou mettez en commentaire la ligne suivante:*/
  • $chaine=utf8_encode($chaine);
  • /*Remarque: Cette fonction peut être utilisée si vous ignorez le charset de la chaîne de carractères à traiter, par exemple si la chaîne provient d'un flux RSS ou d'une base de donnée extérieure à votre site WEB. Si vous êtes sur que le charset est en ISO le prochain script utilise une fonction moins gourmande en ressources .*/
  • ?>
  • <? php //fonction stroupper en Francais avec un charset ISO
  • function iso_strtoupper_fr($chaine)
  • {
  • $chaine=strtoupper($chaine);$chaine=trim($chaine);
  • $chaine = strtr($chaine, “äâàáåãéèëêòóôõöøìíîïùúûüýñçþÿæœðø”,”ÄÂÀÁÅÃÉÈËÊÒÓÔÕÖØÌÍÎÏÙÚÛÜÝÑÇÞÝÆŒÐØ”);
  • return $chaine;
  • }
  • //Pour appeler la fonction:
  • echo iso_strtouper_fr($variable);
  • /*Par défaut la fonction renvoit un chaîne encodée ISO, si vous voulez qu'à la sortie le mot soit encodé en UTF-8 ajoutez la ligne suivante avant la ligne “ return $chaine;“:*/
  • $chaine=utf8_encode($chaine);
  • ?>
<? php //fonction stroupper en français

function uc_strtoupper_fr($chaine)
{
$chaine=strtoupper($chaine);$chaine=utf8_decode($chaine);$chaine=trim($chaine);
$chaine = strtr($chaine, “äâàáåãéèëêòóôõöøìíîïùúûüýñçþÿæœðø”,”ÄÂÀÁÅÃÉÈËÊÒÓÔÕÖØÌÍÎÏÙÚÛÜÝÑÇÞÝÆŒÐØ”);
$chaine=utf8_encode($chaine);
return $chaine;
}

//Pour appeler la fonction:
echo uc_strtouper_fr($variable);

//par exemple
$variable=”je suis indigné”;
echo utf8_maj_fr($variable);

// renvoit : JE SUIS INDIGNÉ

/*Par défaut la fonction renvoit un chaîne encodée UTF-8, si vous voulez qu'à la sortie le mot soit encodé en ISO supprimez ou mettez en commentaire la ligne suivante:*/

$chaine=utf8_encode($chaine);

/*Remarque: Cette fonction peut être utilisée si vous ignorez le charset de la chaîne de carractères à traiter, par exemple si la chaîne provient d'un flux RSS ou d'une base de donnée extérieure à votre site WEB. Si vous êtes sur que le charset est en ISO le prochain script utilise une fonction moins gourmande en ressources .*/
?>

<? php //fonction stroupper en Francais avec un charset ISO

function iso_strtoupper_fr($chaine)
{
$chaine=strtoupper($chaine);$chaine=trim($chaine); 
$chaine = strtr($chaine, “äâàáåãéèëêòóôõöøìíîïùúûüýñçþÿæœðø”,”ÄÂÀÁÅÃÉÈËÊÒÓÔÕÖØÌÍÎÏÙÚÛÜÝÑÇÞÝÆŒÐØ”);
return $chaine;
}

//Pour appeler la fonction:
echo iso_strtouper_fr($variable);

/*Par défaut la fonction renvoit un chaîne encodée ISO, si vous voulez qu'à la sortie le mot soit encodé en UTF-8 ajoutez la ligne suivante avant la ligne “ return $chaine;“:*/

$chaine=utf8_encode($chaine);
?>

 Conclusion

C'est ma premiere et modeste contribution, j'ai eu beau chercher cette fonction quelque part sur le Net , j'ai rien trouvé ... Si vous rencontrez un bug ou si vous avez une idées pour l'optimiser ...
;)


 Historique

11 juin 2007 12:38:16 :
mise en forme du texte

 Sources du même auteur

MAJUSCULES ACCENTUÉES , FONCTION UCFIRST AMÉLIORÉE.

 Sources de la même categorie

Source avec Zip GÉNÉRATEUR DE BALISE META KEYWORDS par ParseError
Source avec Zip Source avec une capture RACCOURCISSEUR D'URL par hairai
Source avec Zip GÉNÉRER UN MOT DE PASS ALÉATOIRE par narkos2
UNICODE TO HTML ENTITIES par CrazyShooter
Source avec Zip DÉBUTANT : FONCTION POUR TRANSFORMER UN TEMPS EN SECONDES EN... par MonkeyIsBack

 Sources en rapport avec celle ci

MAJUSCULES ACCENTUÉES , FONCTION UCFIRST AMÉLIORÉE. par Jits_

Commentaires et avis

Commentaire de Tortuegeniale le 12/06/2007 10:48:31

Hum ton serveur doit peut etre être configuré d'une manière qui ne permet pas d'afficher les majuscules des caractères accentués.
Moi avec une config de base Wamp (apache 2, php5) avec

<?php echo strtoupper('écologie'); ?>

J'obtien bien

ÉCOLOGIE

A voir ...

Commentaire de Tortuegeniale le 12/06/2007 10:49:08

Et pareil pour ucfirst()

Commentaire de Jits_ le 12/06/2007 15:05:30

Salut,

Sur les hébergements OVH mutualisés par exemple et surement sur beaucoups d'autres, il n'y a pas possibilité à ma connaissance de configurer le serveur. Il y a peut être par contre une astuce pour forcer le serveur à faire cela avec une ligne de code. C'est sur ce serait plus propre. J'ai cherché sur le Net mais pas de réponse... Aussi peut etre tes caractères accentués sont en ISO  ou encodés HTML. Mon site etant en UTF-8 j'ai as réelement verifié si la fonction native de PHP fonctionnait sur d'autres encodages.

Commentaire de kankrelune le 12/06/2007 18:40:52

Sinon y a mb_strtoupper()

http://fr2.php.net/manual/fr/function.mb-strtoupper.php

@ tchaOo°

Commentaire de coucou747 le 13/06/2007 16:46:49

t'aurais plutot du mettre des deux dernieres sources dans les snippets, ca y a plus sa place

Commentaire de armenak le 18/06/2007 09:09:39

Personnellement, je vous trouve bien injustes. Je suis ravi d'avoir découvert grâce à vous la fonction mb_strtoupper, mais Jits_ ne la connaissait apparemment pas lui non plus, et je trouve son effort extrêmement louable et bien formulé.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Extraire que les MAJUSCULES d'une chaines de caracteres [ par sxvirus ] Bonsoir,Je cherche à extraire que les MAJUSCULES d'une chaines de caracteres mais je n'y arrive pas.Avez vous une solution , MERCI d'avance. phpMyAdmin / Majuscules [ par djagger ] Salut !je bosses en local (windows) sur une base de donn&#233;es cr&#233;e sous linux.J'utilise phpmyadmin. Je fais mon taff etc ...Je vais pour expor Mise en majuscules [ par malaysia ] Bonsoir,Je souhaite que lors d'une recherche dans une base MySQL &#224; partir d'un formulaire en ligne, la recherche se fasse sur les mots de la base Problème Accentuation [ par Clad49 ] Salut&nbsp;! J&#146;ai un pti souci&nbsp;! Tous les accents son remplac&#233; par un caract&#232;re &#171;&nbsp;chinois&nbsp;&#187;&nbsp;!! Quelqu&#14 Majuscules - minuscules [ par ov3rdoze ] Salut Je cherche une fonction qui permettrai de tester si un caractère est en majuscule ou en minuscule. Cest pour reconstruire une chaine en ne prena mettre en majuscules un nom composé [ par ahcorad ] Bonjour ! Besoin d'aide sur un truc tout simple je pense mais je ne vois pas ! Je veux mettre un nom composé en forme ! par exemple jean-louis donne J Transformer en majuscules [ par mjacques ] Bonjour, le problème a été évoqué plusieurs fois, mais j'avoue caler sur mon code...le voici:&lt;?    $bdd = mysql_connect('localhost','xxx','xxx');   Ne pas faire attention aux majuscules lors d'une saisie [ par BlAzAk ] Bonjour,    Alors voila mon problème: J'ai fait un formulaire d'inscription sur mon site qui enregistre les données spécifiée dans une BDD SQL. Là tou


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales