Bonjour à tous, J'ai suivi le tuto sur le BBCode, excellent soit dit en passant, tous fonctionne convenablement. J'aimerai aller un peu plus loin en rajoutant des éléments et pour l'instant je bloque au niveau des listes. Pourriez-vous m'expliquer ? Je reprend le code du tuto : [code] $conv = array( '[b](.*?)[\/b]' => ' $1', '[i](.*?)[\/i]' => '$1', '[u](.*?)[\/u]' => '<u>$1</u>', '[url=([^]]*)](.*)[\/url]' => ' $2', );[/code] Merci d'avance pour votre aide.

6 réponses


euh tu as écrit 2 fois la règle avec <u> tu veux en venir ou ?

Houly62
Auteur

Erreur de ma part ^^ c'était une ligne que j'avais dupliquer pour essayer de faire les ul.

Montre ce que tu as essayé déjà :)

Houly62
Auteur

Disons que j'ai testé plusieurs choses, mais le meilleur que j'ai réussi à avoir était avec ça (pas de virgule à la fin de la ligne des ul car c'est la dernière pour l'instant) : [code] '[li](.*)[\/li](?![\/li])' => '

  • $1
    ', '[ul]$0[\/ul]' => '
    $0' [/code] Cela affiche bien les li mais les ul sont visibles. Après j'ai fait les réglages pour l'image et sa fonctionne : [code]'[img](.*)[\/img]' => ' ',[/code]

Pourquoi ne pas reprendre la même ligne que les li pour les ul ? [ul](.*)[\/ul](?![\/ul])' => '

$1' et petit conseil pour tes images n'oublie pas l'attribut "alt" ;) (et tu peux retirer le / de fin pour le html5) '[img](.*)[\/img]' => ' ', Personnellement pour plus de facilité et de compréhension pour les listes, j'utilise les balises "list" pour les "ul", "enum" pour les "ol" et "*" pour les "li" Et pour simplifier le code, et puisse que beaucoup de balise on la même forme d'utilisation, je m'y prends comme ceci [code]$autorizedTags = array( 'b'=>'strong', 'i'=>'em', 'enum'=>'ol', 'list'=>'ul', '\'=>'li' ); // On remplace tout les bbcode[/bbcode] par <balise>$1</balise>foreach($autorizedTags as $pattern=>$replace) { $post = preg_replace('/['.$pattern.'](.\)[\/'.$pattern.']/iU', '$1'.$replace.'>', $post); }[/code] Après pour des balises plus complexe, comme les liens ou les images, je fais comme toi ;) P.S: Ce système ne gère pas les imbrications de liste les unes dans les autres.

Houly62
Auteur

Toujours le même problème, même en mettant ton code Typhon (en remplaçant mes variables). Bizarre ...