L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX new!
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle

     Referencement
     Créat. de bannière

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
104509 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kits graphiques
     Création logo

Plus :
     Comparateur de prix
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Hebergement gratuit
     Le PHP facile
     Horoscope
     Comscripts
     WebmasterClub
     Activeartanima...
     Le village de ...
     L'écriteau
     Faro-dessing
     Gifs animés, f...
     Netsources
     Easy-script.com
     Trucs et astuc...
     Je javascript
     Créer son site...
     Les autres
     Votre site ici ?


Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]


[ Forums >> JavaScript >> Problèmes de création JavaScript / DHTML >> Problème avec visualisation automatique ]

> Problème avec visualisation automatique
[ Posté par isagaw ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 13-08-2008 à 11:33 | 33 messages ]

Bonjour,
J'ai crée dernièrement un script pour visualiser en temps réel le contenu d'un textarea (avec bbcode), et je suis bloqué sur un truc.

Je vous épargne tout le code.

En fait, il s'agit d'un problème de syntaxe après le traitement.

Après avoir traiter le bbcode avec la fonction replace(), et après avoir utilisé la fonction nl2br() :

function nl2br(champs) {
textarea=new String(champs);
return textarea.replace(/\n/g,'<br />');
}


c'est dans la visualisation du code source que j'ai remarqué des erreurs :

Première erreur :
Je vois à certains endroits ce code :
<p></p>


Seconde erreur:
Dans mon BBcode, on peut créer une liste à puce :
<liste 1>
<puce>Menu</puce>
<puce>Options</puce>
</puce>...</puce>
</liste 1>


Si on veut bien présenter dans le textarea pour s'y retrouver, on a tout intérêt à faire des sauts à la ligne entre chaque puce, ce qui a pour effet de rajouter à cause de la fonction nl2br() et après traitement du bbcode des <br />à la fin des </li>, ce qui n'est pas correcte au point de vue des normes de la w3c.

J'ai voulu traiter ces problèmes toujours avec la fonction replace() de telle sorte (pour le premier problème par exemple) :

champs=champs.replace(/<p><\/p>/g, "");

de manière à supprimer les paragraphes vides inutiles, mais ça ne marche pas. Je pense que c'est du au fait de la balise fermante </p>, puisque j'ai essayé les deux codes suivants :

champs=champs.replace(/<p>/g, "");


champs=champs.replace(/<\/p>/g, "");


et seul le premier a pour effet de supprimer toutes les balises ouvrantes <p>.

J'ai osngé à un problème lié au / de la balise fermante après traitement, mais je patauge.

Qu'en pensez-vous s'il vous plait ?

De même, je pense aussi que le second problème est lié à celui-là à cause des / de <br />.

Un dernier détail que j'ai noté qui pourrait vous aider est le fait qu'après avoir utilisé la fonction nl2br(); ci-dessus, dans mon code, j'ai des <br> et non pas des <br /> (mais ça ne change pas mon problème, car les deux ne marchent pas).

Voilà, excusez-moi d'avoir fait si long pour un si petit problème , si quelqu'un a une solution à ce problème, ce serait génial

Bonne journée

[Message édité par isagaw le 13-08-2008 à 11:34]


________________
isagaw



[ Posté par isagaw ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 13-08-2008 à 11:43 | 33 messages ]

Je reviens sur ce que j'ai dit
J'ai réussis à corriger le problème avec le <br /> qui survient devant le </li>, devant le </ol>, devant le </ul>.... mais pas devant le </p> !

Donc tout tourne autour de lui.

Je n'arrive pas à transformer :
<br /></p>
en
</p>

bien que j'y arrive devant les autres balises.

Je n'arrive pas à supprimer les :
<p></p>


Je sais pas quoi faire

________________
isagaw

[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 13-08-2008 à 12:01 | 3861 messages ]

t'en es où actuellement ?


var t = "bla bla<p></p> bli bli <br /></p> <a>des balises</a>";
alert(t.replace(/<br \/><\/p>/g,"</p>"));
alert(t.replace(/<p><\/p>/g,""));



________________
V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites

Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html

[ Posté par isagaw ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 13-08-2008 à 12:59 | 33 messages ]

Pour ce qui est du <p></p>, grave erreur de ma part que je viens de remarquer, du à une ligne supplémentaire qui destinait à ajouter une balise ouvrante <p> au début, et une balise fermante </p> à la fin.

Pour les <br /> par contre, j'ai pas comprit, j'avais utilisé le même code, mais maintenant, en ayant copié ton code ça marche.
Pourtant, j'avais écrit exactement la même chose :
replace(/<br \/><\/p>/g,"</p>");


à ceci près que j'ai mis un espace entre les deux paramètres de la fonction.

En tout cas, maintenant, ça marche, même si je ne saurais jamais qu'elle a été mon erreur.

Merci beaucoup.

________________
isagaw




Services email :

Vous devez vous identifier pour profiter des services par email du forum.
Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]






31 visiteurs
actuellement en ligne

    PUBLICITE

Wilogo.com - Création Logo Entreprise

     ANNUAIRE WEBMAST.
Hewlett Packard
Espace HP pour les particuliers et petites entreprises.
http://h41257.www4.hp.com...
Cat : Hardware
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
55678 membres
8491 comptes CountUs
1506 comptes myCircle

     LES FORUMS :
14 forums
39327 topics
189131 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "Navigateur" du jour par astuces-win
Dans Mozilla Firefox, utilisez Ctrl + T pour ouvrir un nouvel onglet. La navigation par onglets est beaucoup plus facile et permet de regrouper plusieurs sites en une seule fenêtre. Ctrl + W permettra de fermer l'onglet ouvert.
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2008 K-NETWORK - Tous droits réservés | CNIL N° 844440 | 18/11/2008 23:52:44 | Design by Studcrea | Gen. en 0.585 sec.