(compteur de mots) Maximum de mots dans une section du forum

Voir le sujet précédent Voir le sujet suivant Aller en bas

(compteur de mots) Maximum de mots dans une section du forum

Message par IzumiRK le Sam 28 Avr 2018 - 18:32

Détails techniques


Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome
Capture d'écran du problème :
Voir l'image:

Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : http://sin-theatre.forumactif.com

Description du problème

Bonjour,

Mon forum dispose d'un compteur de mots installés qui ne prend pas en compte les balises bbcode et html dans son décompte afin que les codes de présentation de posts (vu que c'est un forum de rp c'est une pratique courante) ne changent pas complètement le décompte des mots.
Le soucis c'est qu'il y a une section du forum où le nombre de mots ne doit pas dépasser 215 et que le seul code que j'aie trouvé qui me permette de faire ça, celui-ci : http://forum.forumactif.com/t384972-minimum-de-mots-dans-un-message-avant-de-pouvoir-poster (que j'ai modifié pour que ce soit un maximum de mots) prends en compte les balises html et donc ne mets pas le même décompte (cf image)

J'aimerais savoir si c'est possible de mixer mes deux codes ? Et aussi s'il y a moyen ça fonctionne aussi pour répondre (car pour l'instant il ne s'affiche que lorsqu'on poste un nouveau sujet). Pour les réponses si c'est impossible par sous-forum directement, je suis prête à ajouter manuellement les liens à chaque fois qu'un nouveau sujet sera posté dans cette section, il n'y en a pas beaucoup mais ils dépassent presque systématiquement la limite et c'est fatiguant de le faire remarquer à chaque fois.

Voilà à quoi ressemble le code normal de mon compteur de mots :
Code:
var wordcount_signaled= false;
 
$(function(){
  if(!$('#text_editor_textarea').length || !$.fn["sceditor"]) return;
 
  $(function(){
 
    var e= $('#text_editor_textarea').sceditor('instance');
    if(!e) return;
 
    var w= $('<div class="word-count"></div>').appendTo('.sceditor-container');
 
    var wc= function(){
      var t= e.val().replace(/\[.*?\]/g,' ').replace(/<.*?>/g,' ').replace(/[\x00-\x40\x5b-\x60\x7b-\x7e]/g,' ');
      w.html('Mots : '+(t.match(/\S{2,}/g)||[]).length);
      wordcount_signaled= false
    };
   
    e.keyDown(function(){
      if(wordcount_signaled) return;
      wordcount_signaled= true;
      setTimeout(function(){ wc() }, 500)
    });
 
    wc()
 
  })
 
});

Et celui que j'utilise pour que la limite ne s'applique que dans une section :
Code:
location.pathname=="/post" && /^\?f=(17)&mode=newtopic$/.test(location.search) && $(function(){
jQuery(function(){jQuery(function () {
          var NombreDeMots = 215;
          var NombreLettresParMot = 2;
          var icone_incomplet = 'http://illiweb.com/fa/admin/icones/supprimer.png';
          if (jQuery('#text_editor_textarea').length != 0) {
            jQuery('input[type=\'submit\'][name=\'post\']').attr('disabled', true).css('opacity', '0.5');
            jQuery('.sceditor-container').after('<div id=\'div_minchars_info\'></div>');
            /*
            gestion de 4 encodages FA:
            windows-1252 [anciens forums]
                cp-1252 [anciens forums]
              iso-8859-1 [anciens forums]
                  utf-8 [nouveaux forums]
            */
            var metas = document.getElementsByTagName('meta'),
            charset = '0';
            for (var i = 0; i < metas.length; i++) {
              var meta_charset = metas[i].hasAttribute('http-equiv') && metas[i].getAttribute('http-equiv').toLowerCase() === 'content-type' ? metas[i].getAttribute('content')  : 0;
              if (meta_charset) charset = meta_charset.substring(meta_charset.indexOf('=') + 1).toLowerCase();
            }
            switch (charset) {
              case 'utf-8':
                var regex = new RegExp('[\\w\\u00DF-\\u00F6\\u00F8-\\u00FD\\u0153]{' + NombreLettresParMot + ',}', 'gi');
                break;
              default:
                var regex = new RegExp('[\\w\\u00C0-\\u00F6\\u00F8-\\u00FF\\u0152]{' + NombreLettresParMot + ',}', 'gi');
            }
            /*fin gestion des encodages*/
     
            var sceditor = jQuery('#text_editor_textarea').sceditor('instance'),
            str = sceditor.val(),
            str_arr = str.match(regex),
            str_len = str_arr == null ? 0 : str_arr.length;
            if (str_len <= NombreDeMots)
            jQuery('input[type=\'submit\'][name=\'post\']').attr('disabled', false).css('opacity', '1');
            sceditor.keyUp(function (e) {
              str = sceditor.val();
              str_arr = str.match(regex);
              str_len = str_arr == null ? 0 : str_arr.length;
              if (str_len <= NombreDeMots) {
              jQuery('input[type=\'submit\'][name=\'post\']').attr('disabled', false).css('opacity', '1');
              } else {
                jQuery('#div_minchars_info').html('<img src=\'' + icone_incomplet + '\' alt=\'\' /> Vous avez écrit <span style=\'color:red\'>' + str_len + '</span> mot(s). Votre message est trop long pour être posté dans cette section.');
                jQuery('input[type=\'submit\'][name=\'post\']').attr('disabled', true).css('opacity', '0.5');
              }
            });
          }
        })});
});

Je vois à peu près quelle partie bannit les codes html du décompte mais je ne sais pas comment l'adapter d'un code à l'autre, ou même s'il est possible de combiner directement les deux codes.

Si je ne suis pas claire je peux tenter de réexpliquer autrement, j'ai tendance à être assez embrouillée dans mes explications.

Merci d'avance à la personne qui acceptera de m'aider .o.
avatar

IzumiRK
***

Messages : 143
Inscrit(e) le : 25/02/2015

http://indare-division.forumactif.com/
IzumiRK a été remercié(e) par l'auteur de ce sujet.

Re: (compteur de mots) Maximum de mots dans une section du forum

Message par Chacha le Dim 6 Mai 2018 - 9:48

Bonjour,

Nous n'avons plus de nouvelle de l'auteur de ce sujet depuis plus de 8 jours. Nous considérons donc ce problème comme résolu ou abandonné. La prochaine fois, merci de nous tenir au courant de l'évolution de votre problème, ou pensez à faire un UP régulièrement !

Ce sujet est déplacé à la corbeille, merci d'ouvrir un nouveau sujet si nécessaire, en respectant les Règles générales du forum.
avatar

Chacha
Modéractif
Modéractif

Masculin
Messages : 56503
Inscrit(e) le : 21/08/2010

http://forum.forumactif.com/
Chacha a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum