Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/06/2011, 11h37   #1
Invité de passage
 
Inscription : avril 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 9
Points : 2
Points : 2
Par défaut Boucle for avec variable dans le texte

Bonjour à tous!

J'essaie d'intégrer la création de tableaux dans phpBB à l'aide de TinyMCE. J'ai trouvé une solution qui fonctionne pas mal (pour ceux qui sont intéressés : http://forums.phpbb-fr.com/support-u...jet183850.html).

Mais j'ai encore un petit problème lorsque je souhaite fusionner plusieurs cellules. Les lignes de javascript suivantes fonctionnent très bien:

Code :
1
2
3
4
      rep(/\[td=1\]/gi,"<td colspan=\"1\">");
      rep(/\[td=2\]/gi,"<td colspan=\"2\">");
      rep(/\[td=3\]/gi,"<td colspan=\"3\">");
      rep(/\[td=4\]/gi,"<td colspan=\"4\">");
Par exemple, le BBcode [td=1] sera remplacé par <td colspan="1">

Cela fonctionne bien mais c'est très lourd, surtout que je compte ajouter un second argument pour les rowspan.

C'est pourquoi j'aimerai réduire ces 4 lignes à l'aide d'une boucle for. Mais malgré plusieurs essais, mes bbcodes [td=] ne sont jamais reconnus...

Code :
1
2
3
	  for (i=1; i<=4; i++){
		rep(/\[td= + "i" + \]/gi,"<td colspan=\"i\">");
	}
Quelle est la bonne écriture pour que la fonctionne rep fonctionne correctement ?

Merci d'avance!
Alplob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 13h10   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
Code :
1
2
3
4
 for (i=1; i<=4; i++){
reg=new RegExp("\[td=("+i+")\]","gi");
		rep(reg,"<td colspan=\"$1\">");
	}
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 10h06   #3
Invité de passage
 
Inscription : avril 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 9
Points : 2
Points : 2
Merci beaucoup pour votre réponse, mais cela ne fonctionne pas.

En effet, lorsque je souhaite récupérer le html, TinyMCE génére:
Code :
[< colspan"$i">able][< colspan"$i">bo< colspan"$i">y]<< colspan"$i">r>[< colspan"$i">< colspan"$i">< colspan"$i">< colspan"$i">] [/< colspan"$i">< colspan"$i">][< colspan"$i">< colspan"$i">< colspan"$i">< colspan"$i">] [/< colspan"$i">< colspan"$i">] colspan"$i">r><< colspan"$i">r>[< colspan"$i">< colspan"$i">< colspan"$i">< colspan"$i">] [/< colspan"$i">< colspan"$i">][< colspan"$i">< colspan"$i">< colspan"$i">< colspan"$i">] [/< colspan"$i">< colspan"$i">] colspan"$i">r>[/< colspan"$i">bo< colspan"$i">y][/< colspan"$i">able]
En fait, il semblerait que ce code remplace tous les t et les d par < colspan"$i">.
Ainsi [table] devient [< colspan"$i">able]
[tbody] devient [< colspan"$i">bo< colspan"$i">y]
<tr> devient << colspan"$i">r>
et ainsi de suite.. Ce comportement est vraiment étrange!
Alplob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 10h19   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
un simple oubli d'échappement

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type="text/javascript">
function foo(obj){
texte=obj.value
 
for (i=1; i<=4; i++){
reg=new RegExp("\\[td=("+i+")\\]","gi");
		obj.value=obj.value.replace(reg,"<td colspan=\"$1\">");
 
	}
	}
</script>
</head>
 
<body>
 
<textarea id="bar" value="">[td=1][td=2][td=3][td=4]</textarea>
<input type="button" onclick="foo(document.getElementById('bar'))" value="go" />
 
</body>
 
</html>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 10h32   #5
Invité de passage
 
Inscription : avril 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 9
Points : 2
Points : 2
Génial, ça fonctionne parfaitement!
Etant complètement autodidacte en javascript et pas du tout informaticien, je n'aurai jamais pu y arriver sans vous!
Alplob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 10h33   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
je suis autodidacte aussi ...
comme quoi on peut y arriver tout seul
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h25.


 
 
 
 
Partenaires

Hébergement Web