20 01 2002 à 22:25 |
Salut tous le monde J'ai deja poser un post concernant ce sujet, mais la je bloque sur tous les points !! etant bloquer sur le traitement des messages de mon forum, je suis passer au commentaires sur chaque page, au livre d'or, etc... mais a chaque fois le meme dilem se pose : le traitement des messages !! en un mot, je n'arrive pas a faire ce que je veux des messages postés (sujet de forum, reponse de forum, message de commentaire, etc...). Mon but est de remplacer les caracteres ISO HTML, de mettre <BR> (avec nl2br), et de convertir les adresses internet, et ensuite de pouvoir modifier a ma guise tous les messages !? Vous croyez que c'est possible ?? (bah oui je suis con, gwan l'a fait...) SVP Aidez moi, je pete un cable !! Plusieurs problemes se pose : - Traiter le message lors de l'enregistrement ou de la lecture - Gerer l'option "editer" - Minimiser la bd (sachant que je suis chez un hebergeur amateur) Voici ma fonction encode_message qui "code" les messages, encode_url etant le script d'Angel que j'ai repris pour m'eviter a la refaire, elle est simple, j'ai pas encore mis le traitement de smiley, ni de macro qui remplace les [B][/B], etc.... : function encode_message($texte) { $texte = nl2br(htmlentities(encode_rul($texte, "http://","30"))); return ($texte); } PS: Si vous avez la moindre idée pour resolver cet impasse ou je suis, repondez moi !!! je suis coincer, je demoralise, je me lasse !! (et si je me lasse c'est fini pour moi !! c'est la 1er cause d'abandon de mes projets...je sais pas pk je dis ça mais enfin bon..) et vous aurez une recompense Merci de m'aider SVP *NoKi* |
|
21 01 2002 à 09:24 |
Salut Noki, Perso je fais comme ça : Je laisse mes message en "brut" dans ma base de données à part la conversion des retours de lignes en balises HTML. Ce qui me permet de gérer la gestion de l'edit ensuite. Tous les traitements (reconnaissance des URLs, smileys, balises supplémentaires optionnelles --> <b> mop </b> ) sont faites ensuite. Pour ce qui est de récupérer les retours à la ligne lors de la modification il te suffit de transformer tes <br> en \n dans ta textarea... Pour la récupération je pourrais te mettre un script si tu veux... Avec cette méthode ta base de données est minimale, le seul problème étant que tu dois faire tes traitements à chaque affichage, à moins de mettre un "cache" de 10 messages par exemple dans une base (Tu me suis toujours ??) sur lequels les traitements ne se feraient qu'à l'enregistrement d'un nouveau message.. Je sais pas trop si j'ai été assez clair... Mail moi si tu veux plus d'explications sur ma pensée quelque peu obscure et mal formulée.. [Edit : Le script est dispo] @+ |
|
21 01 2002 à 21:06 |
Merci Angel, tu me sauves d'une impasse, j'avais une vague idée sur \n dans les textarea, et maintenant je l'ai plus, je ne savais pas que l'on pouvez faire ça donc ce que j'ai fais : - J'enregistre dans la bd seulement avec un nl2br - Je lis avec un html_entities, auto_liens(:)), transformation des smileys et des code speciale. - J'edit avec un br2nl(:)) Merci 1000 fois Angel, sache que tu peux compter sur moi sur une quelquonce aide a+ *NoKi* |
|
21 01 2002 à 21:14 |
euh, il me semble que la fonction br2nl n'existe pas. en fait, jen sais rien, je l'ai jamais essayé. Dans le cas où ça marcherais pas, ne t'arrache pas les cheveux trop lontemps et utilise ceci : $texte = str_replace(" <br> ","\n",$texte); A+ |
|
22 01 2002 à 07:09 |
br2nl() est une fonction que j'ai déposé dans le script vault ^^ (especially for Noki) Elle ressemble comme 2 gouttes d'eau à ce que tu viens de poster |
|
22 01 2002 à 21:33 |
ahhh bon, excusez-moi alors j'ai pas du suivre toute l'histoire !! |
|
24 01 2002 à 20:17 |
trop excellente angel l'idée du cache de messages prétraités |
|
25 01 2002 à 12:31 |
Merci m'sieur... C'est peut être un peu fastidieux à mettre en place par contre pour le gain que ça apporte... C'est à juger sur pièce... |
|
27 01 2002 à 14:23 |
salut stocke les messages bruts. pas d'interpretation a l'insertion. AUCUNE. meme pas nl2br(). pourquoi nl2br() ? à l'insertion du message issu du TEXTAREA, les retours chariot sont interprétés par \n\r (normalisation windows - UNIX \n - ). à la modification, le message sera aussi dans un TEXTAREA et les retours chariots seront donc bien interprétés (toujours pas besoin de nl2br() ni br2nl()). à l'affichage, tu envoies ta fonction d'interpretation qui entre autres, remplace les retour chariots \n\r par des <br> avec nl2br() simplement. STOCKE LES MESSAGES BRUTS. et cette fameuse fonction d'interpretation, on peut la voir ? a+ |
|
Pour répondre à ce sujet (et notifier automatiquement son auteur), cliquez sur le bouton REPONDRE A CE SUJET. Si vous voulez en plus avertir de votre réponse une personne qui a participé à ce sujet, cliquez sur le bouton en face de son intervention. Enfin si vous voulez inviter quelqu'un à réagir, utilisez les appeaux ci-dessous. Seuls les membres logués peuvent utiliser les appeaux et seuls les membres actifs peuvent être appeautés ^^. Bonne notification ! Vous n'êtes pas membre ou vous n'êtes pas logué(e) ou les appeaux sont désactivés dans votre profil. Vous ne pouvez pas utiliser les appeaux. |