Contrôle l'équilibre majuscules / minuscules et le pourcentage de majuscules
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
Fonctions du code
: Expression rationnelle globale - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Calcule la taille d'une chaîne - (PHP 4, PHP 5)
Commentaire
Salut Etienne 
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

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, $i, 1); 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 ?> |
Ajouter un commentaire
Librairie PHP
Connexion
Chaînes
- Affichage des codes ASCII...
- Ajouter des retours...
- Arrondi une distance en...
- Avoir 10000 et afficher 10...
- Avoir des liens et les...
- Avoir les initiales d'un...
- Baliser des mots dans une...
- Bannir les mots d'un texte
- C'est de l'UTF8 ou de...
- Cherche et trouve les mots...
- Chercher des adresses...
- Colorisation de code php...
- Compter le nombre de...
- Compter le nombre de mots...
- Compter le nombre de mots...
- Contre les messages...
- Contrôle...
- Conversion d'une...
- Convertit les majuscules...
- Couper une chaine au n...
- Crypter et...
- Découpe de...
- Détermine...
- Enleve les espaces dans...
- Enleve les n derniers...
- Exécute une...
- Exploser une chaîne...
- Extraire tous les mots...
- Formate une liste en...
- Générateur...
- Générateur...
- Génération...
- Générer une...
- Inclure des smileys dans...
- La gestion des...
- Mot de passe...
- Optimiser un chaine pour...
- Passer 1 texte en...
- Passer la première...
- Passer les...
- Passer toutes vos lettres...
- Passer une chaine dans un...
- Remplace seulement la...
- Remplace tous les accents...
- Remplace une chaine ou un...
- Suite de chiffres
- Supprime des tags dans une...
- Supprime les accents dans...
- Supprime les...
- Supprime les lignes vident...
- Supprime les sauts de...
- Supprimer l'extension d'un...
- Tag BBcode pour afficher...
- Tronquer une chaîne...
- Tronquer une chaîne...
- Tronquer une chaîne...
- Trouver un...
- Vérifie le code...
- Vérifie les...
- Vérifie si une...
- Vérifie si votre...
- Vérifie si votre...
- Vérifier si un mot...
- [PHP] Formater une...
PHP
- Affichage (5)
- Applications (8)
- Chaînes (64)
- Classes (28)
- Constantes (4)
- Cookies (3)
- Date-Heure (33)
- Email (14)
- Fichiers - Réps (43)
- Fonctions (19)
- Formulaires (16)
- GD-Graphiques (11)
- Google (12)
- HTML (6)
- Images (21)
- Inclassable (21)
- Maths (21)
- MySQL (22)
- Navigateurs (6)
- Recherches (6)
- Regex (13)
- Reseau (2)
- Sécurité (24)
- Sessions (11)
- Statistiques (5)
- Système (17)
- Tableaux (19)
- Tag-cloud (3)
- Templates (3)
- Twitter (3)
- URL (20)
- Variables (8)
- Windows (1)
- XML (2)
|
||






















