bbcode pour system de news

bbcode pour system de news - PHP - Programmation

Marsh Posté le 01-07-2006 à 16:13:22    

Bonjour a tous.
J'ai un petit problème en php
Je voudrais créer un systeme de news avec, pour les rédiger un formulaire en bbcode avec prévisualisation automatique.
Mon systeme de news marche  :) , mon bbcode aussi. :)  
Mais pas les deux ensembles  :??:  
Je m'explique :  
lorsque j'utilise le bbcode et que je poste une nouvelle news, lorsque je regarde la news sur la page d'acceuil ,je vios les balises bbcode et non le resultat  
ex :  
je met ca : [gras]bonjour[/gras]
j'obtient ca  
Bonjour le 01/07/2006 à 15h57
 
[gras]bonjour[/gras]
 
 
au lieu de ca :  
Bonjour le 01/07/2006 à 15h57
 
bonjour
Le script de news est celui du site du zero :  
http://www.siteduzero.com/tuto-3-1 [...] -site.html
et celui du bbcode aussi  :)  
http://www.siteduzero.com/tuto-3-1 [...] irect.html
 
Pour l'instant, en ce qui concerne la page rediger_news.php, j'en suis a la :  
 
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  3. <head>
  4. <title>BBCode en Javascript</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <script language="javascript" type="text/javascript" src="prev.js"></script><!-- on appelle le fichier prev.js pour faire fonctionne la prévisualisation -->
  7. <script language="Javascript">
  8. function bbcode(bbdebut, bbfin)
  9. {
  10. var input = window.document.formulaire.textarea;
  11. input.focus();
  12. /* pour IE (toujous un cas appar lui ;) )*/
  13. if(typeof document.selection != 'undefined')
  14. {
  15. var range = document.selection.createRange();
  16. var insText = range.text;
  17. range.text = bbdebut + insText + bbfin;
  18. range = document.selection.createRange();
  19. if (insText.length == 0)
  20. {
  21. range.move('character', -bbfin.length);
  22. }
  23. else
  24. {
  25. range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
  26. }
  27. range.select();
  28. }
  29. /* pour les navigateurs plus récents que IE comme Firefox... */
  30. else if(typeof input.selectionStart != 'undefined')
  31. {
  32. var start = input.selectionStart;
  33. var end = input.selectionEnd;
  34. var insText = input.value.substring(start, end);
  35. input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
  36. var pos;
  37. if (insText.length == 0)
  38. {
  39. pos = start + bbdebut.length;
  40. }
  41. else
  42. {
  43. pos = start + bbdebut.length + insText.length + bbfin.length;
  44. }
  45. input.selectionStart = pos;
  46. input.selectionEnd = pos;
  47. }
  48. /* pour les autres navigateurs comme Netscape... */
  49. else
  50. {
  51. var pos;
  52. var re = new RegExp('^[0-9]{0,3}$');
  53. while(!re.test(pos))
  54. {
  55. pos = prompt("insertion (0.." + input.value.length + " ):", "0" );
  56. }
  57. if(pos > input.value.length)
  58. {
  59. pos = input.value.length;
  60. }
  61. var insText = prompt("Veuillez taper le texte" );
  62. input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
  63. }
  64. }
  65. function smilies(img)
  66. {
  67. window.document.formulaire.textarea.value += '' + img + '';
  68. }
  69. </script>
  70. </head>
  71. <body>
  72. <?php
  73. mysql_connect("localhost", "root", "" );
  74. mysql_select_db("robocop" );
  75. if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
  76. {
  77.     // On récupère les infos de la correspondante
  78.     $retour = mysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']);
  79.     $donnees = mysql_fetch_array($retour);
  80.  
  81.     // On place le titre et le contenu dans des variables simples
  82.     $titre = $donnees['titre'];
  83.     $contenu = $donnees['contenu'];
  84.     $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
  85. }
  86. else // C'est qu'on rédige une nouvelle news
  87. {
  88.     // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
  89.     $titre = '';
  90.     $contenu = '';
  91.     $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
  92. }
  93. ?>
  94. <form method="post" action="liste_news.php" name="formulaire">
  95. <input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[gras]', '[/gras]');return(false)" />
  96. <input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[italic]', '[/italic]');return(false)" />
  97. <input type="button" id="image" name="image" value="Image" onClick="javascript:bbcode('[image]', '[/image]');return(false)" />
  98. <input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('', '');return(false)" />
  99. <a href="#" title="Créer une citation" onClick="javascript:bbcode('[citation=AUTEUR]', '[/citation]');return(false)">Citation</a>
  100. <img src="http://siteduzero.com/Templates/images/smilies/smile.png" title="" alt="" onClick="javascript:smilies(':D');return(false)" />
  101. <br />
  102. <input name="auto" id="auto" type="checkbox" onClick="automatique()" /> <label for="auto">Prévisualisation automatique</label>
  103. <!-- on créer la case à cocher pour un prévisualisation automatique -->
  104. <br />
  105. <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
  106. <textarea cols=35 rows=10 id="textarea" name="contenu"><?php echo $contenu; ?></textarea>
  107. <br />
  108. <input type="button" value="Prévisualiser" onClick="previsualisation();return(false)" /><!-- ce bouton va permettre aux utilisateurs de d'avoir un aperçu quand ils le veulent, pas en direct -->
  109. <div style="border: 1px dashed #000000; padding: 0.2em; height: 200px; overflow: auto; width: 19%;" align="left" id="prev"></div>
  110. <!-- on créer un div avec quelques caractéristique, on lui donne un nom et on ne le remplit pas, on le laisse vide -->
  111. <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
  112.     <input type="submit" value="Envoyer" />
  113. </form>
  114. </body>
  115. </html>


 
J'aimerai savoir pourquoi ca ne fonctionne pas normalement et savir comment faire en sorte que ca marche.
Merci de votre aide
@+

Reply

Marsh Posté le 01-07-2006 à 16:13:22   

Reply

Marsh Posté le 02-07-2006 à 01:58:50    

Montre nous plutôt la fonction qui parse le texte pour transformer [gras] en <b> (j'espère que t'es conscient qu'il en faut une [:dawa])
Si tu veux un indice, regarde la fonction preg_replace() et amuse toi [:jagstang]


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 02-07-2006 à 08:06:44    

Reply

Marsh Posté le 02-07-2006 à 10:55:38    

str_replace


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
Reply

Marsh Posté le 02-07-2006 à 20:05:41    

Bonjour a tous et merci de votre aide. Je crois que j'ai trouvé la soluce : il faut envoyé le formulaire en prévésualisation pour que les balises sioent prisent en comptent mais de toute facon j'ai trouvé un super script gratuit et modifiable a volonté
http://pascal.cormier.free.fr/news

Reply

Marsh Posté le 02-07-2006 à 22:18:47    

oui mais t'as trouvé une astuce qui te permets de ne pas à avoir comprendre le code que tu as écris(ou recopié), alors que la solution était vraiment très simple ...
 
cela dit, tant que ça marche finalement ...

Reply

Marsh Posté le 02-07-2006 à 22:29:46    

Rien qu'avec ton script de news pourri tu viens de pourrir la page que je t'avais monté.

Reply

Marsh Posté le 03-07-2006 à 10:40:23    

Oui, vous avez raison, je vais retravaillé sur ce code, et si je ne truove pas, j'améloirait ce script (je vais lui rajouté un systeme d'opload d'images)

Reply

Marsh Posté le 03-07-2006 à 10:45:29    

ok, je vois, avant d'envoyer le texte, il faut le faire "passer" dans la fonction qui remplace les balises de bbcode par le code en html

Reply

Marsh Posté le 03-07-2006 à 12:49:42    

Heu, gatsu35, je suis passé au design extensible, (j'ai aggrandi la baniere et réduit sa taille à 140 px)
http://pascal.cormier.free.fr
(et bientot : (d'ici 2 ou 3 heures : http://www.robocop.free.fr)

Reply

Marsh Posté le 03-07-2006 à 12:49:42   

Reply

Marsh Posté le 12-07-2006 à 18:18:56    

Harg, :( , ca ne marche pas, oublié le http://www.robocop.free.fr

Reply

Marsh Posté le 12-07-2006 à 18:46:44    

si tu appelais le bon fichier ?

Reply

Marsh Posté le 16-07-2006 à 19:15:51    

Pas con

Reply

Marsh Posté le 16-07-2006 à 19:16:40    

J'ai fait une redirection avec un header vers http://www.robocop.new.fr

Reply

Marsh Posté le 16-07-2006 à 19:47:44    

<span><span></span></span> ==> <span></span>
 
MERCI :o

Reply

Marsh Posté le 17-07-2006 à 11:05:01    

Heu, gatsu, c'est sur quelle page cette erreur?
merci

Reply

Marsh Posté le 17-07-2006 à 11:16:39    

A j'ai trouvé, merci
C'est mieux
G du mal a codé proprement...

Reply

Marsh Posté le 17-07-2006 à 12:22:28    

Dans le copyright du site :

Citation :

Je voudrais remercier Gatsu35, qui m’a aidé dans le découpage de mon site. Sans lui, ce site n’aurait pas pu se faire (ou du moins pas avec cette qualité)


Je n'ose pas imaginer la qualite du code avant son intervention providentielle [:petrus75]
Le code HTML de ton site est entierement a refaire !!

Reply

Marsh Posté le 17-07-2006 à 12:26:48    

merci de tes encouragements afbilou :)
Si j'ai le temps, je coderai proprement...

Reply

Marsh Posté le 18-07-2006 à 00:02:10    

tu ouvres une balises script que tu ne fermes même pas, derreire ca provoque pleins d'erreurs.
 
Tu peux retirer mon pseudo car de la manière que tu as saccager le truc, je n'ose pas être le complice de ce massacre [:petrus75], et puis pas besoin de remerciements, j'ai fait ça alors que j'avais du temps et la version original est toujours sur mon ftp

Reply

Marsh Posté le 18-08-2006 à 11:09:22    

ok, bon, je recode tout le site dans l'apres midi si j'ai le temps
en partant de l'original.
Toutes le balises pas fermé et tout, viennent que j'utilisent dreamwaver
Mais c finit, maintenant j'ai compris, j'utilise notepad
@+

Reply

Marsh Posté le 18-08-2006 à 11:58:12    

notepad++ est ton ami

Reply

Marsh Posté le 18-08-2006 à 16:36:59    

Exact, et voila, c finit j'ai tout recodé  a partir de l'original mais le site n'est toujours pas compatible xhtml et je sais pas pourquoi
(l'origine du problème est peut être du que ma page a une extension en php ou que j'utilise des accents dans mon code)
Merci pour votre aide

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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