Code pour un minimum de mots dans un message avec caractères accentués

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

Résolu Code pour un minimum de mots dans un message avec caractères accentués

Message par Invité Sam 14 Mai 2016 - 9:55

Détails techniques


Version du forum : phpBB3
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Mozilla Firefox
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : (lien masqué, vous devez poster pour le voir)

Description du problème

Bonjour
J'ai testé aussi cet astuce :

https://forum.forumactif.com/t384972-minimum-de-mots-dans-un-message-avant-de-pouvoir-poster

Par contre il ne veut pas prendre en compte les caractères accentués tel que :
é
è
ê

J'ai trouvé ce lien à propos des caractères accentués sur du javascript :

http://www.tuxlanding.net/caracteres-accentues-dans-du-javascript/

Je n'ai pas trouvé où le rajouter, pour que ça fonctionne .

Cordialement


Dernière édition par jackymi le Jeu 19 Mai 2016 - 12:28, édité 1 fois
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code pour un minimum de mots dans un message avec caractères accentués

Message par no_way Mer 18 Mai 2016 - 0:19

Bonsoir, essayez de remplacer dans le script:
Code:
new RegExp('\\w{' + NombreLettresParMot + ',}\\b', 'g')
par:
Code:
new RegExp('[\\w\\u00DF-\\u00F6\\u00F8-\\u00FD\\u0153]{'+NombreLettresParMot+',}','gi')

Ce code est pour de l' UTF-8, ce qui correspond à l'encodage de votre forum.

Je vous laisse faire l'essai avec écœuré par exemple.
no_way

no_way
Membre actif

Messages : 2214
Inscrit(e) le : 26/03/2010

no_way a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code pour un minimum de mots dans un message avec caractères accentués

Message par Invité Mer 18 Mai 2016 - 14:46

Bonjour

Merci pour la réponse, mais en remplaçant la phrase indiquée, le code ne fonctionne plus.
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code pour un minimum de mots dans un message avec caractères accentués

Message par no_way Mer 18 Mai 2016 - 22:55

Est-il possible d'avoir un lien ou je peux voir l'éditeur et écrire un texte ?
no_way

no_way
Membre actif

Messages : 2214
Inscrit(e) le : 26/03/2010

no_way a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code pour un minimum de mots dans un message avec caractères accentués

Message par Invité Jeu 19 Mai 2016 - 11:36

no_way a écrit:Est-il possible d'avoir un lien ou je peux voir l'éditeur et écrire un texte ?

Oui bien sûr .
J'ai créer un sujet avec les permissions pour invités sur mon forum test .
Le code est toujours en place .

http://test-forum.forum2.biz/t26-test-pour-invites
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code pour un minimum de mots dans un message avec caractères accentués

Message par no_way Jeu 19 Mai 2016 - 11:46

Vous avez fait une erreur lors de la copie/ou du remplacement, voici le script complet pour vous éviter de refaire l'erreur Wink :
Code:
    jQuery(function() {
      jQuery(function() {
          var NombreDeMots = 5;
          var NombreLettresParMot = 3;
          var icone_complet = "http://2img.net/i/fa/admin/icones/ajouter.png";
          var icone_incomplet = "http://2img.net/i/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>");
   
            var sceditor = jQuery("#text_editor_textarea").sceditor("instance"),
                str = sceditor.val(),
                regex = new RegExp('[\\w\\u00DF-\\u00F6\\u00F8-\\u00FD\\u0153]{'+NombreLettresParMot+',}','gi'),
                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("#div_minchars_info").html(" <img src='" + icone_complet + "' alt='' /> Vous avez écrit <span style='color:green'>" + str_len + "</span> mots, vous pouvez envoyer votre message.");
                  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). Encore " + (NombreDeMots - str_len) + " avant de pouvoir poster.");
                  jQuery("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
                }
            });
          }
      })
    });
no_way

no_way
Membre actif

Messages : 2214
Inscrit(e) le : 26/03/2010

no_way a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code pour un minimum de mots dans un message avec caractères accentués

Message par Invité Jeu 19 Mai 2016 - 12:24

Ok, j'ai vu d'où vient mon erreur


Dernière édition par jackymi le Jeu 19 Mai 2016 - 12:27, édité 1 fois
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code pour un minimum de mots dans un message avec caractères accentués

Message par Invité Jeu 19 Mai 2016 - 12:24

jackymi a écrit:Merci No_way .

Problème résolu Wink
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

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

- Sujets similaires

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