[Help] phpBB -> Traduire le BBcode...

Statut
N'est pas ouverte pour d'autres réponses.

k o D

Elite
Bon suite à mon problème. J'ai un forum "News" et chaque nouveau topic de ce forum News doit se retrouver sur une autre page php (comme sur GamerZ pour les news)

Bon j'ai réussi à faire afficher toutes les informations de chaque post.

Maintenant j'en suis à l'interprétation du BBcode.
Pour les smileys, j'ai réussi à le faire via un BBcode bidouillé moi-même sans aucune difficulté.
Mais la grosse difficulté pour moi maintenant est la suivante:

Dès que l'on met une partie de texte en gras, en italique etc on utilise les balises ou par exemple.
Bon logiquement çà doit rester ainsi et donc ce n'est pas compliqué alors de faire l'interprétation soi-même dans mon BBcode bidouillé.

Seulement voilà, sécurité je suppose ou stupidité de programmation chez phpBB, il se trouve que par topic, il attribue en plus des balises ou etc un nombre différent pour chaque topic!

Par exemple il va mettre [b1478521] et [i1478521].
Donc l'interprétation est impossible pour moi!

Alors comment arriver à contourner ces fameux nombres que phpBB rajoute???

Voici ce que çà donne actuellement sur ma page php:

http://www3.keohosting.net/troupe/

Merci d'avance!
 

MbK_

Etudjant
au pire, tu fais ainsi.

si tu detectes [i(.+)] alors tu met le truc en gras, et tu ne tien pas compre des numero
 
1er
OP
k o D

k o D

Elite
MbK_ a dit:
au pire, tu fais ainsi.

si tu detectes [i(.+)] alors tu met le truc en gras, et tu ne tien pas compre des numero
Hum ok mais heu je dois avouer que je ne m'y connais absolument pas les "expressions régulières" du coup je ne sais pas m'en sortir.
 

Ezekiel !

Elite
MbK_ a dit:
au pire, tu fais ainsi.

si tu detectes [i(.+)] alors tu met le truc en gras, et tu ne tien pas compre des numero
si tu met des parenthès tu vas 'capturer' l'id je pense pas que ce soit ce qu'il veut. Moi je ferais plutot ça:
Code:
$comment = preg_replace('!\[b.+\](.+)\[/b\]!isU', '<strong>$1</strong>', $comment);
ou mieux:
Code:
$comment = preg_replace('!\[b[0-9]{1,}\](.+)\[/b\]!isU', '<strong>$1</strong>', $comment);
 

MbK_

Etudjant
Ez3kieL a dit:
MbK_ a dit:
au pire, tu fais ainsi.

si tu detectes [i(.+)] alors tu met le truc en gras, et tu ne tien pas compre des numero
si tu met des parenthès tu vas 'capturer' l'id je pense pas que ce soit ce qu'il veut. Moi je ferais plutot ça:
Code:
$comment = preg_replace('!\[b.+\](.+)\[/b\]!isU', '<strong>$1</strong>', $comment);
il est fier...





:D
 
1er
OP
k o D

k o D

Elite
C'est possible qu'aucun des 2 ne fonctionnent? :?

Voici ce que j'ai:

Code:
function bbcodes($text) {
$bbcode= array ( 
        "!\[b.+\](.+)\[/b\]!isU");
$htmlcode= array ( 
        "<b>$1</b>")
$text = preg_replace($bbcode,$htmlcode,$text);
Et pourtant çà ne passe pas ...
 

Ezekiel !

Elite
mdr ben je sais pas ^^
Pour moi ça devrait marcher... essaye avec le code exactement comme je te l'ai donné sans le modifier bien que je ne sois pas sur que ça change grd choses
 
1er
OP
k o D

k o D

Elite
Et non à ne fonctionne pas non plus.

Je sens que je vais faire un bête système de news et oublier ce truc... :?
 

Ezekiel !

Elite
t'es sur que c'est bien [b1478521] dans le bbCode ?
Si oui je vois pas ou est le problème désolé
 
D

deleter_moi

ex membre
Pourquoi tu veux t'amuser à tout réecrire alors qu'il suffit d'utiliser le code de phpBB directement ?
Code:
include('phpbb/includes/bbcode.php');
bbencode($post);  // ou un truc du genre
 
1er
OP
k o D

k o D

Elite
Ez3kieL a dit:
t'es sur que c'est bien [b1478521] dans le bbCode ?
Si oui je vois pas ou est le problème désolé
Non lol :D

C'était un exemple.

Tu as sur cette page le type d'infos que tu as :

http://www3.keohosting.net/troupe/

edit: ps: excuse moi mais j'avais mis sur le lien vers la page en question.

De plus, le "code" qui suit le tag est différent pour chaque topic!
 
1er
OP
k o D

k o D

Elite
Foobar42 a dit:
Pourquoi tu veux t'amuser à tout réecrire alors qu'il suffit d'utiliser le code de phpBB directement ?
Code:
include('phpbb/includes/bbcode.php');
bbencode($post);  // ou un truc du genre
Hum tu as déjà ouvert bbcode.php :?:

Incompréhensible pour moi... de même viewtopic.php pour repérer le "bbencode($post).
 

Ezekiel !

Elite
lol mdr t'as oublié les ":" c'est pour ça que ça foire mon code ^^
Essaye ça
$comment = preg_replace('!\[b:[0-9]{1,}\](.+)\[/b\]!isU', '<strong>$1</strong>', $comment);
 
Foobar42 a dit:
Pourquoi tu veux t'amuser à tout réecrire alors qu'il suffit d'utiliser le code de phpBB directement ?
Code:
include('phpbb/includes/bbcode.php');
bbencode($post);  // ou un truc du genre
Personnellement, je le ferais pour faire mon code à moi et savoir comment le faire et pouvoir donc le refaire pour autre chose que des smileys :)
 
1er
OP
k o D

k o D

Elite
Ez3kieL a dit:
lol mdr t'as oublié les ":" c'est pour ça que ça foire mon code ^^
Essaye ça
$comment = preg_replace('!\[b:[0-9]{1,}\](.+)\[/b\]!isU', '<strong>$1</strong>', $comment);
çà ne change rien... :? :cry:

EDIT: je crois comprendre pourquoi, il ne trouve pas la balise [/b]
Vu qu'elle aussi est "contaminée" :p
 

Ezekiel !

Elite
:cool:
et ça
$comment = preg_replace('!\[b:[0-9]{1,}\](.+)\[/b:[0-9]{1,}\]!isU', '<strong>$1</strong>', $comment);
 
1er
OP
k o D

k o D

Elite
Ez3kieL a dit:
:cool:
et ça
$comment = preg_replace('!\[b:[0-9]{1,}\](.+)\[/b:[0-9]{1,}\]!isU', '<strong>$1</strong>', $comment);
Bah non :cry:
 

Ezekiel !

Elite
tin jsuis dans le jus la a chaque fois joublie un truc ^^
En fait ya pas que des chiffres :cool:
$comment = preg_replace('!\[b:[0-9a-z]{1,}\](.+)\[/b:[0-9a-z]{1,}\]!isU', '<strong>$1</strong>', $comment);
si ça marche pas je vais dormir promis :cool:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut