[PHP] Formulaire pour forum - {enter} {espace} smiley, images...

Formulaire pour forum - {enter} {espace} smiley, images... [PHP] - PHP - Programmation

Marsh Posté le 07-09-2002 à 11:50:02    

Salut,
 
Je fais un mini-forum php (vraiment simple) couplé avec une base de donnée PHPMyAdmin de Multimania (j'ai 3 champs : pseudo, message, datetime)
 
J'aimerais savoir si ma méthode pour afficher des smiley est bonne : l'utilisateur tape son message avec un ";-)" , puis là je crée une fonction qui recherche dans tout le message ";-)" et je remplace ça par <img src="smile.gif">  
 
J'ai l'impression que ça va être un peu bourrin si je met 3-4 smiley, puis faire la même chose pour les images, les url  :??:  
 
Aussi, un truc tout con, comment fait-on les retours à la ligne ??? Il faut remplacer quoi par <br> ?
 
Merci :) A+
 
P.S. je veux pas de forum tout fait genre phpBB, mon but c'est de faire un p'tit truc moi même


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 07-09-2002 à 11:50:02   

Reply

Marsh Posté le 07-09-2002 à 11:53:55    

pour faire apparaitre les saut de ligne : nl2br($texte);
Sinon, utilise les preg_replace pour remplacer tt tes trucs

Reply

Marsh Posté le 07-09-2002 à 12:09:42    

merci pour le nl2br()
 
 
donc par ex je pourrais faire un truc du genre :  
 
$search  = array (  ":-)"   ,   ";-)"  ) ;
 
$replace = array (  "<img src="sourire.gif">"  ,  "<img src="clin_d_oeil.gif">"   ) ;
 
$message = preg_replace ($search, $replace, $message);
 
c'est bien ça ?  :jap:


Message édité par Eniac le 07-09-2002 à 13:10:14

---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 07-09-2002 à 21:00:00    

voila, enfin c qqch dans le genre.
 
Mais par contre, limite le nb de remplacement (je crois que il i a un 3ème argument avec la fn), car si il en a bcp ça prend bcp de temps.
 
Le forum limite à 10 je crois

Reply

Marsh Posté le 08-09-2002 à 00:04:07    

mmm j'arrive pas à faire marcher cette satané fonction
 
mon <form> envoye les valeurs $pseudo et $message dans ce bout de code, ou j'essaie de remplacer le mot bip par le mot bop dans le $message
 
$message = preg_replace ("bip","bop","$message" );    
$datetime = date("Y-m-d H:i" ) ;
$db = mysql_connect("$localhost","$login","$pswrd" ) ;
mysql_select_db("eniacopolis_db",$db) ;
$query_result=mysql_query("INSERT INTO forum_rheto VALUES ('$pseudo','$message','$datetime';)" ) ;
mysql_close() ;  
 
Et quand ce truc arrive dans la base de donnée, le champ $message est vide  :??:  
 


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 00:22:27    

par contre      
$message = ereg_replace ("bip","bop","$message" );  
 
ça ça marche... mais ça prend pas les array :(


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 02:13:42    

Eniac a écrit a écrit :

mmm j'arrive pas à faire marcher cette satané fonction
 
mon <form> envoye les valeurs $pseudo et $message dans ce bout de code, ou j'essaie de remplacer le mot bip par le mot bop dans le $message
 
$message = preg_replace ("bip","bop","$message" );    
$datetime = date("Y-m-d H:i" ) ;
$db = mysql_connect("$localhost","$login","$pswrd" ) ;
mysql_select_db("eniacopolis_db",$db) ;
$query_result=mysql_query("INSERT INTO forum_rheto VALUES ('$pseudo','$message','$datetime';)" ) ;
mysql_close() ;  
 
Et quand ce truc arrive dans la base de donnée, le champ $message est vide  :??:  
 
 




 
c'est pas  
$message = preg_replace ("bip","bop","$message" );  
mais
$message = preg_replace ("/bip/","bop","$message" );  (par exemple)
 
RTFM ! :D
 
sinon pour des trucs aussi simple à matcher utilise
 
$message = str_replace ("bip","bop","$message" );
 
je déconseille par contre fortement l'utilisation de ereg_replace


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 11:22:03    

joce a écrit a écrit :

 
 
c'est pas  
$message = preg_replace ("bip","bop","$message" );  
mais
$message = preg_replace ("/bip/","bop","$message" );  (par exemple)
 
RTFM ! :D
 
sinon pour des trucs aussi simple à matcher utilise
 
$message = str_replace ("bip","bop","$message" );
 
je déconseille par contre fortement l'utilisation de ereg_replace




 
T'y connais quoi en forum toi ?  :D  
 
J'ai essayé tout ce que tu as dit, juste sur toute la ligne  :sol:  
Dans la doc de nexen ils disent "si vous n'avez pas besoin de règles de remplacement sophistiquées, utilisez de préférence str_replace à ereg_replace et preg_replace", mais ils n'expliquent pas pourquoi  :( Les intitulés de ces 3 fonctions sont quasi les même (sauf pas d\'array dans ereg_replace)
 
Prq tu l'aimes pas celle là ?
 
Merci en tout cas, A+


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 12:06:19    

preg_replace est bcp plus rapide que ereg_replace, et utilise les regexs de type perl.
et str_replace est encore plus rapide que preg_replace vu que ca ne teste pas les regexs


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 12:14:07    

:jap:


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 12:14:07   

Reply

Marsh Posté le 08-09-2002 à 12:48:38    

Eniac a écrit a écrit :

Salut,
 
Je fais un mini-forum php (vraiment simple) couplé avec une base de donnée PHPMyAdmin de Multimania (j'ai 3 champs : pseudo, message, datetime)
 
J'aimerais savoir si ma méthode pour afficher des smiley est bonne : l'utilisateur tape son message avec un ";-)" , puis là je crée une fonction qui recherche dans tout le message ";-)" et je remplace ça par <img src="smile.gif">  
 
J'ai l'impression que ça va être un peu bourrin si je met 3-4 smiley, puis faire la même chose pour les images, les url  :??:  
 
Aussi, un truc tout con, comment fait-on les retours à la ligne ??? Il faut remplacer quoi par <br> ?
 
Merci :) A+
 
P.S. je veux pas de forum tout fait genre phpBB, mon but c'est de faire un p'tit truc moi même
 



Si tu veux, j'ai mis en ligne ce matin sur ce forum ce qu'il faut pour remplacer les smilies et les codes de mise en forme de texte.
Ca utilise une base de donnée ce qui permet de remplacer des valeurs ou d'en rajouter sans passer son temps à modifier le source.
Par contre, j'ai pas encore écrit la partie qui met à jour les donnés de la base.
Il me manque une fonction pour le faire et j'attends de voir un peu si personne sur ce forum ne peut m'aider à la faire. ;)

Reply

Marsh Posté le 08-09-2002 à 13:01:38    

c'est gentil, mais je crois que c'est inutile de sortir l'artillerie pour ce que j'ai à faire.
 
J'ai juste 5 trucs maximum à chercher et à remplacer, ça me prend 5 lignes, et ça doit pas être méchant du côté ressources.
 
Quand je vois ton code, aooooouuuuuuuuu :)
Chuis encore newbie en php, j'y comprend que dale.
 
Merci quand même, j'espère que tu trouveras vite de l'aide :)


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 13:22:31    

Eniac a écrit a écrit :

c'est gentil, mais je crois que c'est inutile de sortir l'artillerie pour ce que j'ai à faire.
 
J'ai juste 5 trucs maximum à chercher et à remplacer, ça me prend 5 lignes, et ça doit pas être méchant du côté ressources.
 
Quand je vois ton code, aooooouuuuuuuuu :)
Chuis encore newbie en php, j'y comprend que dale.
 
Merci quand même, j'espère que tu trouveras vite de l'aide :)



faut mieux pas que je te sorte une regex alors :D
 


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 13:35:52    

des petits comme ça
http://www.phpinfo.net/?p=prog&rub=regex
 
ça va encore (enfin, y'a certaines où je sêche), faudrait pas plus compliqué  :p


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 13:41:36    

et des comme ca ? :
 
$variable = preg_replace_callback('/\[\*\](.+?)(\n[^(\[*\])]|$)/is','li',$variable);
 
:D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 13:46:55    

j'ai du mal à croire qu'un truc si horrible puisse servir à autre chose qu'à dégoûter un newbie du php :)


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 13:58:19    

Eniac a écrit a écrit :

j'ai du mal à croire qu'un truc si horrible puisse servir à autre chose qu'à dégoûter un newbie du php :)



c'est dans le code du forum pourtant :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 14:03:48    

maintenant je comprend mieux ta signature  :lol:  
 


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 14:04:43    

forum2.php3 fait quand même 100565 octets :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 14:09:29    

le mien fait déjà 9.119 octets, et j'ai quasi rien géré...
honnêtement je pensais que ça ferait beaucoup plus.
 
 
t'as pas les chiffres de la taille occupée par la base de donnée avec tous nos messages ?
 
 
/home/mysql/Hardwarefr reiserfs /dev/sdc1  51% 3.44 GB 3.51 GB 6.95 GB  
c'est cette ligne là ?


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 14:16:27    

Eniac a écrit a écrit :

le mien fait déjà 9.119 octets, et j'ai quasi rien géré...
honnêtement je pensais que ça ferait beaucoup plus.
 
 
t'as pas les chiffres de la taille occupée par la base de donnée avec tous nos messages ?
 
 
/home/mysql/Hardwarefr reiserfs /dev/sdc1  51% 3.44 GB 3.51 GB 6.95 GB  
c'est cette ligne là ?
 




ba c'est que forum2 :D
forum fait 20962
forum1 fait 93713
message fait 53619
bdd fait 81591
etc
 
sinon oui c'est cette ligne


Message édité par joce le 08-09-2002 à 14:16:44

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 14:25:15    

ah, il me semblait aussi :)
 
ce qui me fait le plus marrer c'est le nombre de variables que tu passes à chaque fois par l'adresse  :ouch:  
 
 


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 14:29:34    

joce a écrit a écrit :

forum2.php3 fait quand même 100565 octets :D



Heu ... C'est quoi qu'y fait que c'est si gros?
bon, ok, mon site, il a pas encore de véritable partie d'administration mais un chat, un forum (pas tout à fait finis), la page de lien, la récapitulation de l'avancement du site, la gestion des modèles ......
J'en arrive à un total inférieur à 200 Ko. (bon, en fait, ca augmente vite, mais mon plus gros fichier, il fait que 24 Ko. )
Pour la partie forum, ca tiens en 90 Ko en comptant tout ce qui est commun au forum et aux autres parties du site. (moins de 30 Ko si on prends que la partie propre au forum)

Reply

Marsh Posté le 08-09-2002 à 14:34:24    

plein de chose fait que c'est si gros :D
je crois que l'intégralité du code fait environ 1.4 Mo


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 14:40:05    

joce a écrit a écrit :

plein de chose fait que c'est si gros :D
je crois que l'intégralité du code fait environ 1.4 Mo



Ha oui, quand même.
J'en suis loin là. Soyont donc heureux, on a donc encore de la marge pour faire aussi bien que toi. :D
Bon, pour la taille de ce forum, je pense que le système des multipseudo lié et la colorisation du code C/C++ ca a du alourdir la taille totale.

Reply

Marsh Posté le 08-09-2002 à 14:41:00    

pour les multipseudos pas tant que ca


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 14:46:55    

joce a écrit a écrit :

pour les multipseudos pas tant que ca



En tout cas, sur ce point là, je crois bien que j'aurais du mal à faire aussi bien que toi. :sarcastic:

Reply

Marsh Posté le 08-09-2002 à 14:52:33    

c'est quoi cette histoire de multipseudos ?


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 08-09-2002 à 15:19:32    

Eniac a écrit a écrit :

c'est quoi cette histoire de multipseudos ?



Ben quand t'as plusieurs pseudos qui sont utilisé depuis la même machine, ce forum le détecte et considère a partir de ce moment là que ce n'est qu'une seule et même personne qui les utilise.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed