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.
Erreur de ma part ^^ c'était une ligne que j'avais dupliquer pour essayer de faire les ul.
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])' => '
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.
Toujours le même problème, même en mettant ton code Typhon (en remplaçant mes variables). Bizarre ...