Bonjour, J'ai essayé de créer un BBcode à l'aide du tuto, tout va bien. Par contre, quand on met un attribut sur plusieurs lignes il ne fonctionne pas. J'aimerai savoir comment faire pour pouvoir mettre un attribut sur plusieurs lignes Par exemple [gras]Test en gras[/gras] Mon code est le même que sur le tuto [code] if(!empty($_POST['text'])){ $text = $_POST['text']; $text = htmlentities($text,ENT_NOQUOTES,'UTF-8'); $conv = array( '[b](.*?)[\/b]' => ' $1', '[i](.*?)[\/i]' => '$1', '[s](.*?)[\/s]' => '<s>$1</s>', '[url=([^]]*)](.*)[\/url]' => ' $2' ); $text = nl2br($text); foreach($conv as $k=>$v){ $text = preg_replace('/'.$k.'/',$v,$text); } echo $text; } [/code] Merci.

2 réponses


Cruwp
Auteur
Réponse acceptée

Salut Ça ne marche pas, j'ai fais des recherches et des tests, j'ai trouvé la solution. [code] if(!empty($_POST['text'])){ $text = $_POST['text']; $text = htmlentities($text,ENT_NOQUOTES,'UTF-8'); $conv = array( '[b](.*?)[\/b]' => ' $1', '[i](.*?)[\/i]' => '$1', '[s](.*?)[\/s]' => '<s>$1</s>', '[url=([^]]*)](.*)[\/url]' => ' $2' ); $text = nl2br($text); foreach($conv as $k=>$v){ $text = preg_replace('/'.$k.'/isU',$v,$text); } echo $text; } [/code] Tout est pris en compte, les majuscules dans les balises et les lignes. Mais merci quand même.

Test comme ca pour voir : [code] '[b]([a-zA-Z \n]+)[\/b]' => ' $1' [/code]