Editeur de texte pour système de news

Editeur de texte pour système de news - HTML/CSS - Programmation

Marsh Posté le 13-07-2004 à 18:02:15    

http://sourceforge.net/projects/richtext/
http://www.devscripts.com/viewscript.php?sId=796
et mon préféré: http://dynarch.com/mishoo/htmlarea.epl
 
mais bon tout c truc son plus lourd que celui de ce site, parcequ'ils interpretent en live le code ke tu mes. mais sinon si t motivé je pense ke tu peux arriver a un truc bien en pas trop de temps

Reply

Marsh Posté le 13-07-2004 à 18:02:15   

Reply

Marsh Posté le 13-07-2004 à 18:41:41    

une simple fonction fait ça, c'est pour l'ASP donc à adapter si c'est du PHP :

Code :
  1. <%
  2. function remplace(txt)
  3. Dim temp
  4. temp = replace(temp,VbCrLf,"<br />" )
  5. temp = Replace(temp, "", "<b>" )
  6. temp = Replace(temp, "", "</b>" )
  7. temp = Replace(temp, "", "<i>" )
  8. temp = Replace(temp, "", "</i>" )
  9. temp = Replace(temp, "", "<u>" )
  10. temp = Replace(temp, "", "</u>" )
  11. temp = Replace(temp, "[ul]", "<ul>" )
  12. temp = Replace(temp, "[/ul]", "</ul>" )
  13. temp = Replace(temp, "[x]", "<li>" )
  14. temp = Replace(temp, "[/x]", "</li>" )
  15. temp = Replace(temp, "[cadre]", "<div class='cadre'>" )
  16. temp = Replace(temp, "[/cadre]", "</div>" )
  17. remplace = temp
  18. end function
  19. %>

Reply

Marsh Posté le 15-07-2004 à 12:59:47    

dans le head :

Code :
  1. <script language="JavaScript" src= "message.js" type="text/javascript"></script>


un repertoire toolbar ou tu met les icônes,un div:

Code :
  1. <img src="toolbar/gras.gif" alt="Mettre le texte en Gras" name="gras" border="0" title="Mettre le texte en Gras" onclick="TAinsert('','')" onmouseover="gras.src=gras2.src" onmouseout="gras.src=gras1.src" >
  2. <img title="Mette le texte en Italique" onClick="TAinsert('','')" onMouseOver="italic.src=italic2.src" onMouseOut="italic.src=italic1.src" src="toolbar/italic.gif" name="italic" border="0" alt="Mette le texte en Italique">
  3. <img title="Mettre le texte en souligné" onclick="TAinsert('','')" onmouseover="soul.src=soul_2.src" onmouseout="soul.src=soul_1.src" src="toolbar/soul.gif" name="soul" border="0" alt="Mettre le texte en souligné">
  4. <img title="encadrer un texte" onclick="TAinsert('[cadre]','[/cadre]')" onmouseover="cadre.src=cadre2.src" onmouseout="cadre.src=cadre1.src" src="toolbar/cadre.gif" name="cadre" border="0" alt="encadrer un texte">
  5. <img title="Insérer une liste" onclick="TAinsert('[ul]','[/ul]')" onMouseover="liste.src=liste2.src" onmouseout="liste.src=liste1.src" src="toolbar/liste.gif" name="liste"    border="0" alt="Insérer une liste">
  6. <img title="Insérer une puce" onclick="TAinsert('[x]','[/x]')" onMouseover="puce.src=puce2.src" onmouseout="puce.src=puce1.src" src="toolbar/puce.gif" name="puce"    border="0" alt="Insérer une puce">  
  7. <img title="Insérer une image" onclick="TAinsert('[img]','[/img]')" onmouseover="img.src=img2.src" onmouseout="img.src=img1.src" src="toolbar/img.gif" name="img" border="0" alt="Insérer une image">


et La fonction message.js qui va bien:

Code :
  1. // - Freekill & Joce
  2.    
  3.   function countInstances(open,closed)
  4.    {
  5.       var opening = document.post.message.value.split(open);
  6.       var closing = document.post.message.value.split(closed);
  7.       return opening.length + closing.length - 2;
  8.    }
  9.  
  10.    function TAinsert(text1,text2)
  11.    {
  12.       var ta = document.getElementById('message');
  13.  
  14.       if (document.selection) {
  15.          var str = document.selection.createRange().text;
  16.          ta.focus();
  17.          var sel = document.selection.createRange();
  18.          if (text2!="" )
  19.          {
  20.             if (str=="" )
  21.             {
  22.                var instances = countInstances(text1,text2);
  23.                if (instances%2 != 0){ sel.text = sel.text + text2;}
  24.                else{ sel.text = sel.text + text1;}
  25.             }
  26.             else
  27.             {
  28.                sel.text = text1 + sel.text + text2;
  29.             }
  30.          }
  31.          else
  32.          {
  33.             sel.text = sel.text + text1;
  34.          }
  35.        
  36.       }
  37.       else if (ta.selectionStart | ta.selectionStart == 0)
  38.       {
  39.          if (ta.selectionEnd > ta.value.length) { ta.selectionEnd = ta.value.length; }
  40.      
  41.          var firstPos = ta.selectionStart;
  42.          var secondPos = ta.selectionEnd+text1.length;
  43.      
  44.          ta.value=ta.value.slice(0,firstPos)+text1+ta.value.slice(firstPos);
  45.          ta.value=ta.value.slice(0,secondPos)+text2+ta.value.slice(secondPos);
  46.        
  47.          ta.selectionStart = firstPos+text1.length;
  48.          ta.selectionEnd = secondPos;
  49.          ta.focus();
  50.       }
  51.       else
  52.       { // Opera
  53.          var sel = document.post.message;
  54.        
  55.          var instances = countInstances(text1,text2);
  56.          if (instances%2 != 0 && text2 != "" ){ sel.value = sel.value + text2; }
  57.          else{ sel.value = sel.value + text1; }
  58.       } 
  59.    }
  60. {
  61.     gras1 = new Image();gras1.src = "toolbar/gras.gif";
  62. gras2 = new Image();gras2.src = "toolbar/gras_on.gif";
  63. italic1 = new Image();italic1.src = "toolbar/italic.gif";
  64. italic2 = new Image();italic2.src = "toolbar/italic_on.gif";
  65. soul_1 = new Image();soul_1.src = "toolbar/soul.gif";
  66. soul_2 = new Image();soul_2.src = "toolbar/soul_on.gif";
  67. liste1 = new Image();liste1.src = "toolbar/liste.gif"
  68. liste2 = new Image();liste2.src = "toolbar/liste_on.gif"
  69. puce1 = new Image();puce1.src = "toolbar/puce.gif"
  70. puce2 = new Image();puce2.src = "toolbar/puce_on.gif"
  71. cadre1 = new Image();cadre1.src ="toolbar/cadre.gif";
  72. cadre2 = new Image();cadre2.src ="toolbar/cadre_on.gif";
  73. img1 = new Image();img1.src = "toolbar/img.gif";
  74. img2 = new Image();img2.src = "toolbar/img_on.gif";
  75. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed