Inserer BBcode minichat

Résolu
creatio Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
creatio Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici le problème :
Je voudrais savoir comment faire pour que les personne puissent parler sur le minichat de mon site en utilisant le BBcode dans leurs message. J'ai beau avoir chercher de partout mais je trouve pas, merci d'avance ;)
A voir également:

2 réponses

scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Voici la fonction que j'ai faite, je lui envoie le message où l'utilisateur à taper du BBCODE, et elle me renvoie du code HTML en transformant les balises de BBCODE en HTML :

function format_msg($content)

{

	// Sécurité face au code html

	//$content = str_replace("<", "<", $content);

	//$content = str_replace(">", ">", $content);



	// implémentation du bbcode au mini-chat

	$content = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>$1</b>', $content); 

	$content = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>$1</i>', $content); 

	$content = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>$1</u>', $content); 

	$content = preg_replace("#\[size=([1-2]?[0-9])\](.*?)\[/size\]#si", '<font size="$1">$2</font>', $content);

	$content = preg_replace("#\[color=(.+?)\](.*?)\[/color\]#si", '<font color="$1">$2</font>', $content);

	$content = preg_replace('#\[url\](.+?)\[/url\]#si', '<a href="$1" title="$2" target="_blank" class="content_link">$1</a>', $content); 

	$content = preg_replace('#\[url=(.+?)\](.*?)\[/url\]#si', '<a href="$1" title="" target="_blank" class="content_link">$2</a>', $content); 

	$content = preg_replace('#\[img\](.+?)\[/img\]#si', '<img src="$1" alt="$1" />', $content); 

	

	// Table styles

	$content = preg_replace('#\[table\](.*?)\[/table\]#si', '<table>$1</table>', $content); 

	$content = preg_replace('#\[ligne\](.*?)\[/ligne\]#si', '<tr>$1</tr>', $content); 

	$content = preg_replace('#\[cellule\](.*?)\[/cellule\]#si', '<td class="cellule">$1</td>', $content); 

	

	// List styles

	$content = preg_replace('#\s*\[list\](.*?)\[/list\]\s*#si', '<ul>$1</ul>', $content); 

	$content = preg_replace('#\s*\[list1\](.*?)\[/list1\]\s*#si', '<ol>$1</ol>', $content); 

	$content = preg_replace('#\s*\[e\](.*?)\[/e\]\s*#si', '<li class="default_content">$1</li>', $content);

	

	// Predefined Styles

	$content = preg_replace('#\[titre\](.*?)\[/titre\]#si','<span class="content_titre">$1</span>', $content);

	$content = preg_replace('#\[left\](.*?)\[/left\]#si','<span class="align_left">$1</span>', $content);

	$content = preg_replace('#\[right\](.*?)\[/right\]#si','<span class="align_right">$1</span>', $content);

	$content = preg_replace('#\[center\](.*?)\[/center\]#si','<span class="align_center">$1</span>', $content);

	

	return $content;

}


J'espère que cela te suffira. Je comptais faire quelques améliorations mais je n'en ai pas encore eu le temps.
N'oublie pas de recréer les classes CSS dont tu as besoin pour t'en servir. Il me semble que les classes que j'avais mises sur les span étaient en display: block; si je me rappelle bien.
1
creatio Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonjour,

Ma réponse a été trouvais. Merci!
Sujet clos
0