begin process at 2012 05 29 21:53:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Pseudo éditeur WYSIWYG qui a de la peine avec les retours à la ligne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pseudo éditeur WYSIWYG qui a de la peine avec les retours à la ligne

mardi 1 avril 2008 à 15:40:31 | Pseudo éditeur WYSIWYG qui a de la peine avec les retours à la ligne

WebManiaK

Bonjour.

Je cherche à développer un éditeur WYSIWYG (What You See Is What You Get) pour que les membres puissent voir l'effet que produit leur texte en direct.
J'ai donc cherché, et trouvé, une fonction qui correspondait bien à ce que je cherche, c'est à dire de la prévisualisation avec du BBCode.

Voici le code en question:
function afficher(texte)
{
        var div_prev = document.getElementById('prevision');
        var corps = document.getElementById('corps').value;
        corps = corps.replace(/\[b\]([\s\S]*?)\[\/b\]/g, '<strong>$1</strong>');
        corps = corps.replace(/\[i\]([\s\S]*?)\[\/i\]/g, '<i>$1</i>');
        corps = corps.replace(/\[s\]([\s\S]*?)\[\/s\]/g, '<s>$1</s>');
 
           div_prev.innerHTML = corps;
}
Précisons au passage quelques petites choses: "prevision" est l'endroit où va être affichée la prévisualisation et corps est un textarea en HTML.
Les deux éléments sont sur la même page HTML et le code est bien entre des balises script.

Tout s'affiche merveilleusement bien, sauf un petit point noir: Le retour à la ligne.
J'ai essayé et essayé mais je n'ai pas encore réussi à tomber sur le bon code.

Voici un de mes essais (qui ne marche pas):
corps = corps.replace(/ /\n /g, '<br />');
Le but est donc de remplacer tous les \n (retours à la ligne en JS) par des br (retours à la ligne en HTML)

Dans le but que vous arriviez à me dépanner plus facilement, je me permet de vous communiquer l'ensemble du code qui ne joue pas. (pas d'inquiétude, ce n'est pas long )
<p><textarea name="corps" id="corps" cols="50" rows="10" onkeyup="javascript:afficher(document.getElementById('corps').value);" tabindex="3"></textarea></p>
    <fieldset id="prevoir"><legend>Prévisualisation</legend><p id="prevision"></p></fieldset>

<script>
function afficher(texte)
{
        var div_prev = document.getElementById('prevision');
        var corps = document.getElementById('corps').value;
        corps = corps.replace(/\[b\]([\s\S]*?)\[\/b\]/g, '<strong>$1</strong>');
        corps = corps.replace(/\[i\]([\s\S]*?)\[\/i\]/g, '<i>$1</i>');
        corps = corps.replace(/\[s\]([\s\S]*?)\[\/s\]/g, '<s>$1</s>');
        corps = corps.replace(/ \\n /g, '<br />');
 
           div_prev.innerHTML = corps;
}
</script>
Merci d'avance pour toutes les réponses qui pourront m'être utiles. Si vous souhaitez de plus amples informations sur le code, n'hésitez pas à demander

Cordialement,
WebManiaK
mardi 1 avril 2008 à 15:50:07 | Re : Pseudo éditeur WYSIWYG qui a de la peine avec les retours à la ligne

bultez

Membre Club


Bonjour,

    c'est pas du wysiwyg ça....
       puisqu'il va falloir envoyer vers le serveur pour qu'il réaffiche correctement !
       c'est pas que j'ai quelque chose contre, mais c'est du bbCode, pas du wysiwyg
          avec lequel on voit immédiatement, sans passer par le serveur.

       ici, dans ce forum, c'est du wysiwyg  libre d'utiluisation d'ailleurs
        ( et tu as de nombreux exemples  partout, tiens.. le mien )

    mais bon....

    corps = corps.replace(/\n /g, '<br />');
    ou même corps = corps.replace(/\r\n /g, '<br />');   ( avec IE peut-être ? )


                Cordialement            Bul         [mon Site]     [M'écrire]
mardi 1 avril 2008 à 16:00:11 | Re : Pseudo éditeur WYSIWYG qui a de la peine avec les retours à la ligne

bultez

Membre Club
Réponse acceptée !
il fallaitt lire : corps = corps.replace(/\n/g, '<br />');   ( espace en trop )

                Cordialement            Bul         [mon Site]     [M'écrire]
mercredi 2 avril 2008 à 22:34:58 | Re : Pseudo éditeur WYSIWYG qui a de la peine avec les retours à la ligne

WebManiaK

Merci infiniment pour tes réponses, ça marche très bien.
Merci également pour le lien vers du véritable WYSIWYG, et désolé pour mon abus de langage.

Cordialement,
WebManiaK.
jeudi 3 avril 2008 à 06:09:11 | Re : Pseudo éditeur WYSIWYG qui a de la peine avec les retours à la ligne

bultez

Membre Club
y'a pas d'quoi être désolé.
nickel si ça baigne, merci de nous l'avoir dit,
    je préfère le "vrai wysiwig" qui comme on l'emploie est
    aussi un abus de langage :  what you see is what you get employé à l'origine
    pour évoquer que ce qu'on voit, à l'écran, sera ce qu'on obtiendra, à l'imprimante.

                Cordialement            Bul         [mon Site]     [M'écrire]


Cette discussion est classée dans : ligne, code, replace, corps, retours


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec les expressions regulières (string.replace()) [ par Gorrk ] Voilà je souhaite transformer du code perso (, , ect) en code HTML.Voilà comment je fais :var text=document.forms[0].corps.value;text=text.rep pb fonction js pour submit de formulaire dynamique [ par BDdev ] HELP !!!!je créé dynamiquement sur une page un tableau contenant les résultats d'une requete sql et dans chaque ligne un formulaire (caché) et je voud className la ligne de code mystère [ par sapakus ] Bonjour, Au tout début d'un fichier .js trés trés long réalisé par un chevronné professionnel de la programmation web, j'ai trouvé cette ligne de comm erreur sur une page [ par lu6fer ] bonjour, voila j'ai une erreur sur ma page, mais je ne sait pas dutout d'ou elle peut venir. l'erreur est ligne 21 Car 39 cet objet ne gere pas cet Transformer une chaine en ligne de code [ par AlexP ] Bonjour,J'ai écris un programme qui me génére des lignes de code. Or javascript ne les execute pas.Ex : var i=5var chaine ="formulaire.checkbox"+i+"ch compatible netscape [ par vingran ] salutje voudrait savoir comment transcrire cet ligne de code utilisée pour IE pour qu'elle marche sur Netscape:document.getElementById("objet1").style 2criture automatique dans un table + ajoute de ligne en code HTML [ par GoldPegasus ] Ce que je veux faire est un peu poussé, et je ne c'est pas si c'est possible.Je voudrais que le code javascript remplisse seul un table et si nécessai Incompréhention d'une ligne de code [ par BeebopMcFly ] Bonjour à tous !!Voici mon problème, j'ai besoin de savoir ce que signifie cette ligne de code.usr = `id | sed -e 's/^[^(]*(\([^)]*\)).*/\1/'`On a ess menu xp modification [ par NKWolf ] bonjour tout le monde je suis un grand débutant et j'ai trouver le menu xp ici : http://www.javascriptfr.com/code.aspx?ID=16053 et mon problème est Probléme Boucle avec Java script [ par Dellys ] Bonjour     J'ai petit souci avec


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,288 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales