Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. <HTML>
  2. <HEAD>
  3. <script type="text/javascript">
  4.  
  5. function compterSylabeTexte()
  6. {
  7. var voyelle = "aàâeëéèêiïouùy";
  8. var consonne = "bcçdfghjklmnpqrstvwxyz";
  9. var ponctuation = ",;:!?.";
  10. var texte = document.getElementById("zoneTexte").value;
  11. var tailleInitiale=0;
  12.  
  13. //exception ch, ph, gn et th sont inséparables et bl, cl, fl, gl, pl, br, cr, dr, fr, gr, pr, tr, vr
  14. var reg=new RegExp("([cpg]h|[bcfgp]l|[bcdfgptv]r)","g");
  15. texte = texte.replace(reg,"X");
  16.  
  17. //le tiret sépare 2 mots
  18. reg=new RegExp("-","g");
  19. texte = texte.replace(reg,"|");
  20. //la ponctuation est remplacer par des espaces
  21. reg=new RegExp("["+ponctuation+"]","g");
  22. texte = texte.replace(reg," ");
  23.  
  24. //on enlève les espaces en fin de ligne
  25. reg=new RegExp("([ ]+\n)|([ ]+$)","g");
  26. texte = texte.replace(reg,"\n");
  27.  
  28. //le e est muet en fin de vers cas ambigu ent non traité
  29. reg=new RegExp("(e|es|ent)\n|e$|es$|ent$","g");
  30. texte = texte.replace(reg,"'\n");
  31.  
  32. //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...)
  33. reg=new RegExp("(e|es|ent)[ ]+(["+voyelle+"h])","g");
  34. texte = texte.replace(reg,"' $2");
  35.  
  36. //Une consonne placée entre deux voyelles introduit une nouvelle syllabe
  37. reg=new RegExp("(["+voyelle+"])(["+consonne+"X])(["+voyelle+"])", "g");
  38.  
  39. do{
  40. tailleInitiale = texte.length;
  41. texte = texte.replace(reg,"$1|$2$3");
  42. }while(tailleInitiale < texte.length);
  43.  
  44. //De deux consonnes placées entre deux voyelles, la première appartient à la syllabe précédente, la seconde, à la syllabe suivante
  45. reg=new RegExp("(["+voyelle+"])(["+consonne+"X])(["+consonne+"X])(["+voyelle+"])", "g");
  46.  
  47. do{
  48. tailleInitiale = texte.length;
  49. texte = texte.replace(reg,"$1$2|$3$4");
  50. }while(tailleInitiale < texte.length);
  51.  
  52. //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 :
  53. reg=new RegExp("(["+voyelle+"])(["+consonne+"X])(["+consonne+"X])(["+consonne+"X])(["+voyelle+"])", "g");
  54.  
  55. do{
  56. tailleInitiale = texte.length;
  57. texte = texte.replace(reg,"$1$2$3|$4$5");
  58. }while(tailleInitiale < texte.length);
  59.  
  60. //les espace sont remplacé par |
  61. reg=new RegExp("[ ]+","g");
  62. texte = texte.replace(reg,"|");
  63.  
  64. var res = texte.split("\n");
  65. var res2;
  66. var resultatSomme="";
  67. var i=0;
  68. for(i=0;i < res.length; i++)
  69. {
  70. res2 = res[i].split("|");
  71.  
  72. if(res2.length > 1)
  73. resultatSomme += res2.length + " " + res[i] + "\n";
  74. else
  75. resultatSomme += "\n";
  76. }
  77.  
  78. document.getElementById("zoneDebug").value = resultatSomme;
  79. }
  80. </script>
  81.  
  82. </HEAD>
  83. <BODY bgcolor="000000">
  84. <CENTER><H1><font color="WHITE">--- POETOR -</FONT></H1><CENTER>
  85.  
  86. <CENTER>
  87. <TEXTAREA id="zoneTexte" rows=40 cols=60 onkeyup="compterSylabeTexte()">
  88. </TEXTAREA>
  89.  
  90.  
  91. <TEXTAREA id="zoneDebug" rows=40 cols=60> </TEXTAREA>
  92. </CENTER>
  93.  
  94.  
  95.  
  96.  
  97. </BODY>
  98.  
  99.  
  100. </HTML>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement