Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <HTML>
- <HEAD>
- <script type="text/javascript">
- function compterSylabeTexte()
- {
- var voyelle = "aàâeëéèêiïouùy";
- var consonne = "bcçdfghjklmnpqrstvwxyz";
- var ponctuation = ",;:!?.";
- var texte = document.getElementById("zoneTexte").value;
- var tailleInitiale=0;
- //exception ch, ph, gn et th sont inséparables et bl, cl, fl, gl, pl, br, cr, dr, fr, gr, pr, tr, vr
- var reg=new RegExp("([cpg]h|[bcfgp]l|[bcdfgptv]r)","g");
- texte = texte.replace(reg,"X");
- //le tiret sépare 2 mots
- reg=new RegExp("-","g");
- texte = texte.replace(reg,"|");
- //la ponctuation est remplacer par des espaces
- reg=new RegExp("["+ponctuation+"]","g");
- texte = texte.replace(reg," ");
- //on enlève les espaces en fin de ligne
- reg=new RegExp("([ ]+\n)|([ ]+$)","g");
- texte = texte.replace(reg,"\n");
- //le e est muet en fin de vers cas ambigu ent non traité
- reg=new RegExp("(e|es|ent)\n|e$|es$|ent$","g");
- texte = texte.replace(reg,"'\n");
- //Toute syllabe terminée par un E muet s’élide devant un mot commençant par une voyelle ou un H muet. ( je considère tout les H muet...)
- reg=new RegExp("(e|es|ent)[ ]+(["+voyelle+"h])","g");
- texte = texte.replace(reg,"' $2");
- //Une consonne placée entre deux voyelles introduit une nouvelle syllabe
- reg=new RegExp("(["+voyelle+"])(["+consonne+"X])(["+voyelle+"])", "g");
- do{
- tailleInitiale = texte.length;
- texte = texte.replace(reg,"$1|$2$3");
- }while(tailleInitiale < texte.length);
- //De deux consonnes placées entre deux voyelles, la première appartient à la syllabe précédente, la seconde, à la syllabe suivante
- reg=new RegExp("(["+voyelle+"])(["+consonne+"X])(["+consonne+"X])(["+voyelle+"])", "g");
- do{
- tailleInitiale = texte.length;
- texte = texte.replace(reg,"$1$2|$3$4");
- }while(tailleInitiale < texte.length);
- //Quand il y a trois consonnes consécutives à l’intérieur d’un mot, ordinairement les deux premières terminent une syllabe, l’autre commence une nouvelle syllabe :
- reg=new RegExp("(["+voyelle+"])(["+consonne+"X])(["+consonne+"X])(["+consonne+"X])(["+voyelle+"])", "g");
- do{
- tailleInitiale = texte.length;
- texte = texte.replace(reg,"$1$2$3|$4$5");
- }while(tailleInitiale < texte.length);
- //les espace sont remplacé par |
- reg=new RegExp("[ ]+","g");
- texte = texte.replace(reg,"|");
- var res = texte.split("\n");
- var res2;
- var resultatSomme="";
- var i=0;
- for(i=0;i < res.length; i++)
- {
- res2 = res[i].split("|");
- if(res2.length > 1)
- resultatSomme += res2.length + " " + res[i] + "\n";
- else
- resultatSomme += "\n";
- }
- document.getElementById("zoneDebug").value = resultatSomme;
- }
- </script>
- </HEAD>
- <BODY bgcolor="000000">
- <CENTER><H1><font color="WHITE">--- POETOR -</FONT></H1><CENTER>
- <CENTER>
- <TEXTAREA id="zoneTexte" rows=40 cols=60 onkeyup="compterSylabeTexte()">
- </TEXTAREA>
- <TEXTAREA id="zoneDebug" rows=40 cols=60> </TEXTAREA>
- </CENTER>
- </BODY>
- </HTML>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement