Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/01/2011, 17h26   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 42
Points : 14
Points : 14
Par défaut Array généré dynamiquement

Bonsoir,

Je suis en train de me prendre la tête sur ce problème depuis déjà trop longtemps. Pourriez vous m'aider à trouver la bonne manière de procéder? Il s'agit d'un système de smiley par code comme sur n'importe lequel des forum. Je n'arrive pas à le gérer dynamiquement quand je dois changer les code choisit par l'image. Voici le code qui est surement très mauvais mais j'ai tout appris sur le net donc excusez moi.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
function formatage_texte($message) {
	$selection=mysql_query("SELECT * FROM smileys");
 
	$non_formate = array(
		'/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i',
		'`\[italique\](.+)\[/italique\]`isU',  
		'`\[gras\](.+)\[/gras\]`isU',
		'`\[souligne\](.+)\[/souligne\]`isU',
		'`\[barre\](.+)\[/barre\]`isU',
		'`\[lien\](.+)\[/lien\]`isU',
		'`\[lien url="(.+)"\](.+)\[/lien\]`isU',
		'`\[image\](.+)\[/image\]`isU',
		'`\[center\](.+)\[/center\]`isU',
		'`\[citation\](.+)\[/citation\]`isU',
		'`\[citation nom="(.+)"\](.+)\[/citation\]`isU',
		'`\[citation lien="(.+)"\](.+)\[/citation\]`isU',
		'`\[taille valeur="(.+)"\](.+)\[/taille\]`isU',
		'`\[position valeur="(.+)"\](.+)\[/position\]`isU',
		'`\[couleur valeur="(.+)"\](.+)\[/couleur\]`isU',
	);  
 
	while($recap = mysql_fetch_assoc($selection)) {
		$non_formate[] = $recap['code'];
	}
 
	$formate = array(  
		'<a href="$1" target="_blank">$1</a>',
		'<em>$1</em>',  
		'<strong>$1</strong>',
		'<u>$1</u>',
		'<del>$1</del>', 
		'<a href="$1" target="_blank">$1</a>',
		'<a href="$1" target="_blank">$2</a>',
		'<img src="$1" alt="Image utilisateur" />',
		'<center>$1</center>',
		'<br /><span class="citation">Citation</span><div class="citation2">$1</div>',
		'<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>',
		'<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>',
		'<font size="$1">$2</font>',
		'<div style="float:$1;">$2</div>',
		'<font color="$1">$2</font>',
	); 
 
	while($recap = mysql_fetch_assoc($selection)) {
		$formate[] = "<img src=\"img/smiley/$recap[img]\" />";
	}
 
	$message = htmlspecialchars($message);
	$message = preg_replace($non_formate, $formate, $message);
 
	$message = nl2br($message);
 
	return $message;
}
J'ai mis un smile avec comme code :cavalier: et comme phrase de test ":cavalier: Ho un cavalier!". Aucun des deux "cavalier" n'est affiché et le changement pour l'image ne se produit pas. Si vous pouviez éclairer ma lanterne, ça serait super.
Sianobel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h41.


 
 
 
 
Partenaires

Hébergement Web