Messages : 135 Date d'inscription : 09/12/2009
NASTY & CRAZY Admin' S.O.S HTML/CSS.
| Sujet: Tuto compteur de mots Ven 10 Déc - 20:07 | |
|
- Lolo a écrit:
Merci ! Voici donc le code et son tuto ^^
-------------------------------------
Compteur de mots
{ I. Informations globales
*_ Auteur : Suditidus *_ Type : Javascript *_ Niveau : Facile-Moyen *_ Source d'information: : Suditidus *_ Crédits illustrations: Suditidus
Merci d'avoir demandé à en savoir d'avantage sur ce tutoriel. Si vous avez le moindre problème, la moindre question, n'hésitez pas à contacter Suditidus ou l'une des admins de Best !
{ II. Présentation du Tutoriel
Aperçu
- Spoiler:
01. Avant qu'un message soit mis 02. Compte les messages sans BBCode 03. Compte les messages sans prendre en compte le BBCode 04. Affiche un message quand le nombre de mots paramétré est atteint
*_ permets d'avoir un aperçu facile pour vos membres sur le nombre de mots atteint *_ permets aux modérateurs de vérifier facilement si le nombre de mots est bien mis (en éditant le message) *_ il est possible de paramétrer le message à afficher avant, pendant et après. *_ il est possible de paramétrer le nombre de mots à mettre pour avoir un message valide.
Voilà, voilà, maintenant que les présentations sont faites, nous allons pouvoir passer aux choses sérieuses. À ma connaissance, il est adaptable sur tout forum permettant d'éditer les templates "overall_header" et "posting_body".
"overall_header" C'est le fichier qui contient votre code html compris entre les balises <head></head> "posting_body" C'est le fichier qui contient le formulaire pour poster : <textarea></textarea>
Si vous ne trouvez pas un de ces fichiers, recherchez sous un autre nom de fichier. Les forums hébergés n'ont pas toujours les mêmes appellations pour leurs fichiers
Etape 01.
Dans votre fichier "overall_header", avant la balise </head>. On crée une fonction CalculeLongueur :
- Code:
-
<!-- Compteur de mots by Suditidus _ tuto BestRPG _ http://best-rpg.forumpro.fr/ --> <script language="javascript" type="text/javascript"> function calculeLongueur(chaine){ var iLongueur; /* Ne pas modifier sans s'y connaître */ var exp=new RegExp("[a-zA-Z0-9éèêëàáâäóòôöíìîïçÉÈÊËÀÁÂÄÒÓÔÖÌÍÎÏÇ-]+","g"); /* Ne pas modifier sans s'y connaître */ var bbcode_reg = new RegExp("\[[a-z]*\]|\[/[a-z]*\]","g"); /* Ne pas modifier sans s'y connaître */ var BBCode = chaine.match(bbcode_reg); /* Ne pas modifier sans s'y connaître */ var Mots = chaine.match(exp); /* Ne pas modifier sans s'y connaître */ if(BBCode) { iLongueur = Mots.length - BBCode.length; /* Ne pas modifier sans s'y connaître */ } else { iLongueur = Mots.length; /* Ne pas modifier sans s'y connaître */ }
/* C'est le nombre 200 qu'il faut modifier pour changer les règles adaptées à votre forum */ if(iLongueur < 200) { if (iLongueur <= 1) { document.getElementById('indic').innerHTML = iLongueur + " mot"; /* Ne pas modifier sans s'y connaître */ } else { document.getElementById('indic').innerHTML = iLongueur + " mots"; /* Ne pas modifier sans s'y connaître */ } } else { document.getElementById('indic').innerHTML = "LE MESSAGE POSTÉ EST VALIDE" + " <i>(" + iLongueur + " mots)</i>"; } } </script>
Dans cette première partie de code, seul le nombre de mots peut être changer. | Dans le code actuel, vous le retrouverez sous le nombre 200 Vous pouvez également modifier le message qui indique que le nombre de mots est atteint. | Dans le code actuel, vous le retrouverez sous le message LE MESSAGE POSTÉ EST VALIDE
Etape 02.
Dans votre fichier "posting_body", ( dans "poster et messages privés" ) avant la balise <textarea>. Nous allons maintenant ajouter l'endroit où s'affichera votre compteur :
- Code:
-
<div id="indic">UN PETIT MOT AVANT QU'UN MOT SOIT MIS</div> Dans cette seconde partie de code, vous pouvez modifier le message qui s'affiche avant qu'un mot soit mis dans votre post. | Dans le code actuel, vous le retrouverez sous le message UN PETIT MOT AVANT QU'UN MOT SOIT MIS ATTENTION » Ne pas changer l'id de la div, sauf si vous vous y connaissez en codage.
Il faut maintenant modifier le <textarea>
- Code:
-
<textarea name="message" [...] onblur="calculeLongueur(this.form.message.value);" onfocus="calculeLongueur(this.form.message.value);" onkeydown="calculeLongueur(this.form.message.value);" onkeyup="calculeLongueur(this.form.message.value);" > - Assurez-vous que le "name" soit bien "message". - Le [...] contient tout le reste de votre <textarea>. | Il est possible que vous ayez des doublons, ne vous en souciez pas. - Pour mémoire, il faut donc ajouter les balises "onfocus", "onkeydown", "onblur" et "onkeyup"
Validez le tout, publiez les pages et vous voilà désormais muni d'un compteur de mots. Si vous avez des questions, des soucis de fonctionnement, n'hésitez pas à poster à la suite pour poser vos soucis.
© Copyright Best RPG
|
|