Bonjour,
Je viens de créer un bbcode de tableaux pour mon site d'articles et je m'aperçois d'un problème lorsque je créé un tableau. Par exemple quand je fais:
Ce qui donne logiquement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [tableau] [ligne][cellule]Titre 1[/cellule][cellule]Titre 2[/cellule][cellule]Titre 3[/cellule][/ligne] [ligne] [cellule]Contenu 1[/cellule] [cellule]Contenu 2[/cellule] [cellule]Contenu 3[/cellule] [/ligne] [/tableau]
Mais comme ce qui se trouve en dehors des balise td et tr remonte et se place avant le tableau au moment de l'affichage, je vois donc ceci dans le code source:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <table><br> <tr><td>Titre 1</td><td>Titre 2</td><td>Titre 3</td></tr><br> <tr><td>Contenu 1</td><td>Contenu 2</td><td>Contenu 3</td></tr><br> </table>
Quelqu'un peu m'aider çà créer une regex qui puisse me débarrasser de ces <br> à l'intérieur de mon tableau ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <br> <br> <br> <table> <tr><td>Titre 1</td><td>Titre 2</td><td>Titre 3</td></tr> <tr><td>Contenu 1</td><td>Contenu 2</td><td>Contenu 3</td></tr> </table>
PS: Notez que des fois les <br> peuvent êtres séparés par un ou plusieurs espaces, tabulation, saut à la ligne, donc si c'est possible la regex devra aussi traiter ce genre de situation.
Merci d'avance de m'accorder un petit peu de votre temps pour régler mon petit problème que je n'arrive pas à régler moi même étant allergique aux regex .
EDIT :
Je crois avoir trouvé une piste qui consiste à agir directement sur le bbcode, je fais donc ceci:
Mais ça ne fonctionne pas !! quelqu'un peut-il m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php $chaine= "[tableau] [ligne] [cellule]Contenu 1[/cellule] [cellule]Contenu 2[/cellule] [cellule]Contenu 3[/cellule] [/ligne] [ligne] [cellule]Contenu 1[/cellule] [cellule]Contenu 2[/cellule] [cellule]Contenu 3[/cellule] [/ligne] [ligne] [cellule]Contenu 1[/cellule] [cellule]Contenu 2[/cellule] [cellule]Contenu 3[/cellule] [/ligne] [/tableau] "; $chaine = preg_replace('#[tableau](\r\n|\n|\r)[ligne]#','[tableau][ligne]',$chaine); $chaine = preg_replace('#[ligne](\r\n|\n|\r)[cellule]#isU','[ligne][cellule]',$chaine); $chaine = preg_replace('#[/cellule](\r\n|\n|\r)[cellule]#isU','[/cellule][cellule]',$chaine); $chaine = preg_replace('#[/cellule](\r\n|\n|\r)[/ligne]#isU','[/cellule][/ligne]',$chaine); $chaine = preg_replace('#[/ligne](\r\n|\n|\r)[ligne]#isU','[/ligne][ligne]',$chaine); $chaine = preg_replace('#[ligne](\r\n|\n|\r)[celluletitre]#isU','[ligne][celluletitre]',$chaine); $chaine = preg_replace('#[/celluletitre](\r\n|\n|\r)[celluletitre]#isU','[/celluletitre][celluletitre]',$chaine); $chaine = preg_replace('#[/celluletitre](\r\n|\n|\r)[/ligne]#isU','[/celluletitre][/ligne]',$chaine); echo $chaine; ?>
Merci.
Partager