IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Utilisation de la fonction replace et tableau


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 102
    Points : 108
    Points
    108
    Par défaut Utilisation de la fonction replace et tableau
    Bonsoir tous le monde
    Voila, maintenant que j'ai réussi à faire une partie de mon script, j'aimerai bien faire en sorte qu'il intègre un système de bbcode

    Cependant, j'ai un problème avec la fonction replace, je n'arrive pas à la faire marcher complètement lorsque j'utilise des tableaux pour faire le remplacement

    Donc voiçi mon code pour faire mes test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	var text = "Mon texte en [*b]T[*/b]est";
    	var bbcode = new Array("[*b]", "[*/b]");
    	var html = new Array("<b>","</b>");
    	var i = html.length;
    	var j = 0;
    	while(j<=i)
    	{
    		var bbcode = bbcode[j];
    		var html = html[j];
    		text = text.replace(bbcode, html);
    		j++;
    	}
    	document.getElementById("replace").innerHTML = text;
    Et le résultat qui s'affiche dans mon id replace donne ça :
    Mon texte en T[*/b]est
    Alors que si je fais tous à la main sans utiliser les tableaux, l'affichage est correct. Et ce que je ne comprend pas, c'est si je rajoute une balise par exemple une balise I dans mon tableau, alors là, plus rien ne marche, et il ne me remplace plus rien :'(

    PS : Le * dans les balises [/b] sont faites pour que le forum ne les interprettent pas comme des balises bbcode

    Voila, merci d'avance

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    juste un truc: ton fameux bbcode doit faire référence à une css, pas se transformer en balises périmées qui vont effectivement faire bugger ton replace à tout bout de champ;

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 102
    Points : 108
    Points
    108
    Par défaut
    D'accord, merci je vais essayé ça tous de suite

    EDIT : Voila, j'ai remplacé toutes les balises par des divs
    Cependant, je ne comprend pas, pour la balise fermantes, pas moyens de la remplacé

    Lorsque j'utilise ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	var text = "Mon texte en [*b]T[*/b]est";
    	var bbcode = new Array("[*b]", "[*/b]");
    	var html = new Array("<div class='gras'>","</div>");
    	var i = html.length;
    	var j = 0;
    	while(j<=i)
    	{
    		var bbcode = bbcode[j];
    		var html = html[j];
    		text = text.replace(bbcode, html);
    		j++;
    	}
    	document.getElementById("replace").innerHTML = text;
    J'ai comme affichage :
    Mon texte en T[/d]est
    Donc je ne comprend vraiment pas pourquoi il ne me remplace pas complètement la balise.

    Merci d'avance

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	var bbcode = new Array("[*b]", "[*/b]");
    	...
    	while(j<=i)
    	{
    		var bbcode = bbcode[j];
    		...
    	}
    ça ne choque que moi ?

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 102
    Points : 108
    Points
    108
    Par défaut
    Non, je vient de voire mon erreur
    Car là, ma boucle va jusqu'en 2, alors que mon tableau lui ne va que jusqu'en 1
    Sinon, il y a aussi le problème de nom

    Merci de m'avoir trouvé la solution

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de la fonction REPLACE dans un UPDATE
    Par vincent_cda dans le forum SQL
    Réponses: 5
    Dernier message: 16/08/2011, 13h29
  2. Utilisation de la fonction replace() avec une regexp
    Par Ishizaki dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/08/2009, 17h39
  3. [VBA-E]Utilisation de la fonction replace
    Par Jusomi31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/06/2007, 08h59
  4. utilisation fonction replace
    Par calitom dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/12/2006, 15h08
  5. Utiliser la fonction Replace()
    Par aliwassem dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/06/2006, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo