Bouts de Codes PHP

Contrôle l'équilibre majuscules / minuscules et le pourcentage de majuscules

Information sur le code source PHP

Ecrit par :  forty
Site de l'auteur Voir
Codes en PHP de l'auteur : [19] sources Voir
Enregistrement le 18 Juin 2008 - Vu 2402 fois
Impression: Imprimer le code
Pas encore
de vote

Description du code source

Information sur le code source

Cet exemple permet de faire deux contrôles pour éviter d’avoir des textes avec trop de majuscules. Le premier test permet de contrôler qu’il n’y a pas plus de lettres en majuscule que de lettres en minuscule. Le deuxième test permet de contrôler que le pourcentage de lettres en majuscule par rapport au nombre de lettres total est inférieur à 50%.

Code Source



.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
.31
.32
 

<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Contrôle l'équilibre majuscules / minuscules et le...     */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts417-PHP.htm              */
/* Auteur         : forty                                                     */
/* Date édition   : 18 Juin 2008                                              */
/* Website auteur : http://www.toplien.fr/                                    */
/*                                                                            */
/******************************************************************************/

$chaine "Chaîne à tester POUR LES MAJUSCULES";
$nb_min preg_match_all('/[a-z]/'$chaine$res);
$nb_maj preg_match_all('/[A-Z]/'$chaine$res);
if ($nb_maj >= $nb_min) {
    echo 'La chaîne contient plus de majuscules que de minuscules<br>';
}
if (($nb_maj strlen$chaine ) * 100 ) > 50) {
    echo 'La chaîne contient plus de 50% de majuscules<br>';
}
?>

Fonctions du code source

Fonctions php / mysql PHP

  • preg_match_all : Expression rationnelle globale - (PHP 4, PHP 5)
  • echo : Affiche une chaîne de caractères - (PHP 4, PHP 5)
  • strlen : Calcule la taille d'une chaîne - (PHP 4, PHP 5)

Commentaire (1)
Nouveau message KOogar
le 19 Juin 2008 à 03:47:00
Salut Etienne smile

Le premier test je vois pas trop a quoi il sert, par contre le second est trés interressant. Changer les majuscules d'un texte est particulièrement délicat comme opération.
En imposant un pourcentage avant une opération de transformation est pour le moins pertinent.

Comme le problème est toujours avec les maj des noms propres et les maj de nom de sociétés, en incluant ton test on arrive à contourner ce problème.
J'ai fait un filtre en incluant ton test et le résultat est positif.
Tous les problemes de Maj ne sont pas résolues pour autant, mais pour cleaner des textes, ce filtre devrait aider.
J'ai mis le pourcentage à 20% Maximum de Majuscule dans un texte, ca doit varier entre 10 et 20%. Jsuis pas prof de francais alors ca reste qu'une estimation ^^
On pourrait compléter avec des messages d'alertes si le texte dépasse les 50% de Majuscules, ya peut-etre du spam dans l'air ou un gros boulet qui connait pas la Netiquette!!

++
KOogar




Code:
<?php 

function 
filtre_majuscule ($chaine,$pourcentage) {
$nb_min preg_match_all('/[a-z]/'$chaine$TRUE);
$nb_maj preg_match_all('/[A-Z]/'$chaine$TRUE);

if ((
$nb_maj strlen$chaine ) * 100 ) > $pourcentage) {

 
$string strtolower($chaine); // Met tout le texte en minuscule
   
$capital true
    
   for(
$i 0$i strlen($string); $i++){ 
       
$lettre substr($string$i1);
       if(
$lettre == '.' || $lettre == '!' || $lettre == '?'
         {
$capital true;} 
       elseif(!empty(
$lettre) && $capital == true){
           
$lettre strtoupper($lettre); // Met une majuscule 
           
$capital false
       } 
       
$new_texte .= $lettre
   } 
   return 
$new_texte;
 }
else {
     return 
$chaine; }
}

$chaine "Chaîne à tester POUR LES MAJUSCULES";
echo 
filtre_majuscule ($chaine,20);
// Chaîne à tester pour les majuscules
$chaine "Chaîne à tester Mr Dupond pour ouvrir une SARL";
echo 
filtre_majuscule ($chaine,20);
// Chaîne à tester Mr Dupond pour ouvrir une SARL

?>

Poster un commentaire

:P :)
:wink: :lol:
:surprised: :confused:
:idea: :no:
Taille du texte:
Couleur:
 
Code de sécurité
Offres d'emploi
Librairie

Langages de programmation

La librairie est ouverte à tous et elle est accès principalement sur les langages PHP et MySQL. Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP.. Plus de 300 références facilement accessibles. Visiter

  • Total HTML
  • PHP Ateliers Web avec XHTML, CSS, MySQL, Ajax, CMS
  • PHP & MySQL
  • Best practices PHP 5
  • PHP & MySQL et CSS
  • PHP - MySQL - AJAX - Coffret de 2 livres : Créez des applications professionnelles
  • HTML 4 - Maîtrisez le code source (3ème édition)
  • Des CSS au DHTML - JavaScript appliqué aux feuilles de style
  • PHP Clés en main
  • Apprendre SQL avec MySQL : Avec 40 exercices corrigés