Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2065 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  probleme de bbcode

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme de bbcode

n°1026191
wydook
Posté le 26-03-2005 à 18:46:55  profilanswer
 

Bonjour a tous.  
 
J'ai creer un script de news , et je voudrais que mes membres puissent inserer des images dans leur news, ainsi qu des hyperliens cliquables.
 
Comment doit je faire ?? si'il faut utiliser du bbcode pouvez vous me donner un lien qui explique comment le mettre en place .
 
Merci a vous


Message édité par wydook le 27-03-2005 à 20:17:53
mood
Publicité
Posté le 26-03-2005 à 18:46:55  profilanswer
 

n°1026203
KangOl
Profil : pointeur
Posté le 26-03-2005 à 19:18:10  profilanswer
 

et google il pue ?


---------------
Nos estans firs di nosse pitite patreye...
n°1026206
wydook
Posté le 26-03-2005 à 19:23:56  profilanswer
 

j'adooooooore les reponses sympathique comme ca

n°1026213
KangOl
Profil : pointeur
Posté le 26-03-2005 à 19:39:05  profilanswer
 

j'adooooooore les questions stupides comme ca


---------------
Nos estans firs di nosse pitite patreye...
n°1026216
wydook
Posté le 26-03-2005 à 19:49:01  profilanswer
 

je veut pas dire , mais entre la question , qui est trés bien formuler , avec un bonjour et un merci , et un gars qui me repond  
 
"et google il pue ?"
 
sans la moindre  politesse , je ne sait pas si c'est pas plutot la reponse qui est débile.
Mais bon tout le monde n'a pas été élevé pareil .
A bon entendeur salut.


Message édité par wydook le 26-03-2005 à 19:49:25
n°1026578
Tempus_Fug​it
tempinou
Posté le 27-03-2005 à 03:04:51  profilanswer
 

Apprends à utiliser les regex pour faire ce que tu souhaites... Partie 1: http://www.siteduzero.com/php/regex1.php et Partie 2 http://www.siteduzero.com/php/regex2.php
 
Tu as un tuto deja tout fait mais bon, je suis sur que tu n'iras pas le copier coller bêtement hein ? :) http://www.siteduzero.com/php/regex2.php#capture

n°1026874
wydook
Posté le 27-03-2005 à 20:15:19  profilanswer
 

bon j'ai essayer ca dans ma page qui affiche les news
 
 et j'ai donc ecrit dans ma page inserer une news
 
[i]bonjour[/i ]  
 
 
et ca me donne dans la page afficher la news  
 
 
[i]bonjour[/i ]   (sans l'espace a la fin)
 
 
 
 
je vous  ma page entiere qui affiche les news
 
 

Code :
  1. <? session_start(); ?>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  3. <html>
  4. <head>
  5. <title>Document sans titre</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  7. <!-- DEBUT DU SCRIPT -->
  8. <script LANGUAGE="JavaScript">
  9. /*
  10. SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
  11. <a href='http://www.editeurjavascript.com' target='_blank'>http://www.editeurjavascript.com</a>
  12. */
  13. navvers = navigator.appVersion.substring(0,1);
  14. if (navvers > 3)
  15.     navok = true;
  16. else
  17.     navok = false;
  18. today = new Date;
  19. jour = today.getDay();
  20. numero = today.getDate();
  21. if (numero<10)
  22.     numero = "0"+numero;
  23. mois = today.getMonth();
  24. if (navok)
  25.     annee = today.getFullYear();
  26. else
  27.     annee = today.getYear();
  28. TabJour = new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi" );
  29. TabMois = new Array("janvier","février","mars","avril","mai","juin","juillet","aout","septembre","octobre","novembre","dééembre" );
  30. messageDate = TabJour[jour] + " " + numero + " " + TabMois[mois] + " " + annee;
  31. </SCRIPT>
  32. <!-- FIN DU SCRIPT --><script LANGUAGE="JavaScript">
  33. Today = new Date;
  34. Heure = Today.getHours();
  35. Min = Today.getMinutes();
  36. Message = "Il est " + Heure + "h" + Min + "";
  37. </SCRIPT>
  38. </head>
  39. <body background="../fond_site_bord.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  40. <table width="980" border=0 cellspacing="0" background="../fond_site.jpg" style="border:1px solid black" table>
  41.   <tr>
  42.     <td height="21" colspan="2" align="center" valign="top">
  43.       <?php
  44.   include('../entete.php');  // Nous appelons notre menu
  45. ?>
  46.     </td>
  47.   </tr>
  48.   <tr>
  49.     <td width="19%" height="971" align="center" valign="top">
  50.       <?php
  51.   include('../menu-gauche.php');  // Nous appelons notre menu
  52. ?>
  53.     </td>
  54.     <td height="971" align="center" valign="top"> <div align="center"> </div>
  55.       <br> <br>
  56. <?
  57. if (isset($_POST['$texte_news']))
  58. {
  59.     $texte_news = stripslashes($_POST['$texte_news']); // On enlève les slash qui se seraient ajoutés automatiquement
  60.     $texte_news = htmlentities($texte_news); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
  61.     $texte_news = nl2br($texte_news); // On crée des <br /> pour conserver les retours à la ligne
  62.    
  63.     // On fait passer notre texte à la moulinette des Regex
  64.     $texte_news = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>', $texte_news);
  65.     $texte_news= preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $texte_news);
  66.    $texte_news = preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>', $texte_news);
  67.     $texte_news = preg_replace('!http://[a-z0-9._/-]+!i', '<a href="$0">$0</a>', $texte_news);
  68.    
  69. }
  70. ?><?php
  71. // on se connecte à notre base
  72. $base = mysql_connect ('sql', '***', '***');
  73.     mysql_select_db('***', $base);
  74. $nombreDeMessagesParPage = 1; // Le nombre de news sur chaque page
  75. // On récupère le nombre total de messages
  76. $retour = mysql_query('SELECT COUNT(*) AS nb_news FROM news');
  77. $donnees = mysql_fetch_array($retour);
  78. $totalDesMessages = $donnees['nb_news'];
  79. // On calcule le nombre de pages à créer
  80. $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
  81. if (isset($_GET['num_page']))
  82. {
  83.     $page = $_GET['num_page']; // On récupère le numéro de la page indiqué dans l'adresse (news.php?num_page=4)
  84. }
  85. else // La variable n'existe pas, c'est la première fois qu'on charge la page
  86. {
  87.     $page = 1; // On se met sur la page 1 (par défaut)
  88. }
  89. // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
  90. $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
  91. // lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
  92. $sql = 'SELECT id, auteur, titre, date, texte_news FROM news3
  93. ORDER BY id  LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage;
  94. // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  95. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  96. // on compte le nombre de news stockées dans la base de données
  97. $nb_news = mysql_num_rows($req);
  98. if ($nb_news == 0) {
  99.     echo 'Aucune news enregistrée.';
  100. }
  101. else {
  102.     // si on a au moins une news, on l'affiche
  103.     while ($data = mysql_fetch_array($req)) {
  104.         // on décompose la date  
  105.         sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
  106.         // on affiche les résultats
  107.        echo '<p id="'.$data['id'].'">'; ?>
  108. <body background="http://***.free.fr/fond_site.jpg">
  109. <div align="center">
  110.   <table width="743" border="0" align="center" cellspacing="0" bgcolor="#4ab7ff" style="border:1px solid black">
  111.     <tr align="center" valign="middle" bgcolor="E8F1F7"  >  
  112.       <td bgcolor="E8F1F7">  
  113.         <div align="right"><font color="#FF0000" size="3"><em><strong> </strong></em></font>  
  114.           <font color="#990000" size="3"><em><? echo 'Postée le : ' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , '' ;  ?>  
  115.           ,  
  116.           <?  echo 'Auteur : ' , stripslashes(htmlentities(trim($data['auteur']))) ; ?>
  117.           </em></font></div></tr>
  118.     <tr align="center" valign="middle" bgcolor="#94BEDA">  
  119.       <td><font color="#000000" size="4 pt" ><strong><u><? echo '' , stripslashes(htmlentities(trim($data['titre']))) ; ?></u></strong></font></tr>
  120.     <tr align="center" valign="middle" bgcolor="E8F1F7" >  
  121.       <td><div align="left"><font color="#000000" size="3 pt" ><? echo '' , nl2br(stripslashes(htmlentities(trim($data['texte_news'])))) ; ?>  
  122.                 </font> </div></table>
  123.   <p>
  124.     <?
  125.          
  126.     }
  127. }
  128. // on libère l'espace mémoire alloué à cette requête
  129. mysql_free_result ($req);
  130. ?>
  131.   </p>
  132.   <p>Page :  
  133.     <?
  134. for ($i = 1 ; $i <= $nombreDePages ; $i++)
  135. {
  136.     echo '<a href="index_france.php?num_page=' . $i . '">' . $i . '</a> ';
  137. }
  138. ?>
  139.     <?
  140. // on ferme la connexion à la base de données
  141. mysql_close (); ?>
  142.   </p>
  143.   <p><font color="#000000" size="2"><a href="http://mameteo.free.fr/news/insert_news.php">Inserer  
  144.     une nouvelle news (Réserver modérateurs) </a></font> </p>
  145. </div>
  146.       <br> <br> &nbsp;<br> <br> &nbsp; </td>
  147.   </tr>
  148.   <tr>  
  149.     <td height="21" colspan="2" align="center" valign="top" style="border-top:1px solid black">  
  150.       <div align="center">  
  151.         <?php  
  152.   include('../infosbas.php');  // Nous appelons notre menu
  153. ?>
  154.       </div>
  155.       <div align="center"> </div></td>
  156.   </tr>
  157. </table>
  158. </body>
  159. </html>

n°1027111
Tempus_Fug​it
tempinou
Posté le 28-03-2005 à 03:57:32  profilanswer
 

Ton register global semble a off...
Donc:

Code :
  1. $texte_news= preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $texte_news); //pas bon
  2. $_POST['texte_news']= preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $texte_news); //en principe bon


PS: J'ai eu la flemme de lire ton code... lol désolé, donc bon je pense que le probléme vient de la, si ce n'est pas le cas dis le moi :)


Message édité par Tempus_Fugit le 28-03-2005 à 03:58:46
n°1027112
Tempus_Fug​it
tempinou
Posté le 28-03-2005 à 04:01:13  profilanswer
 

Je viens de relire vite fait (mais tjrs avec la flemme).
Je retire ce que j'ai dis precedemment, le probléme doit venir de :

Code :
  1. # if (isset($_POST['$texte_news']))
  2. # {
  3. #     $texte_news = stripslashes($_POST['$texte_news']); // On enlève les slash qui se seraient ajoutés automatiquement
  4. #     $texte_news = htmlentities($texte_news); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
  5. #     $texte_news = nl2br($texte_news); // On crée des <br /> pour conserver les retours à la ligne
  6. #     
  7. #     // On fait passer notre texte à la moulinette des Regex
  8. #     $texte_news = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>', $texte_news);
  9. #     $texte_news= preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $texte_news);
  10. #    $texte_news = preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>', $texte_news);
  11. #     $texte_news = preg_replace('!http://[a-z0-9._/-]+!i', '<a href="$0">$0</a>', $texte_news);
  12. #
  13. #     
  14. # }


En fait c'est if (isset($_POST['texte_news'])) et non pas if (isset($_POST['$texte_news']))

n°1027124
wydook
Posté le 28-03-2005 à 08:59:39  profilanswer
 

Merci a toi , mia ca fonctionne toujours pas . J'ai eesayer plusieur methode , et toujours rien .

mood
Publicité
Posté le 28-03-2005 à 08:59:39  profilanswer
 

n°1028012
Tempus_Fug​it
tempinou
Posté le 29-03-2005 à 05:24:01  profilanswer
 

Euh ben c'est simple, essai en sur une page vierge:
Récupération du champ X du formulaire.
preg_replace sur le post du formulaire
echo de la variable post une fois passé au preg replace.
 
Le principe marche... Donc a partir de la c'est qu'il y avoir une petite faute bête dans ton code.

n°1028409
Worldofdad​a
Posté le 29-03-2005 à 14:49:34  profilanswer
 

A mort le bbcode et tous les sites préprogrammés à la phpNuke, phpTournoi, ...

n°1028745
Tempus_Fug​it
tempinou
Posté le 29-03-2005 à 17:16:24  profilanswer
 

lol pas mal le mec.
En gros internet ne doit être accessible qu'aux personnes connaissant le html ?
Les balises bbcode sont quand même bien. Ils ont eu une bonne idée, ca se standardise, point.
 
A moins d'avoir une meilleure ideé ? ^^

n°1028896
kalex
Posté le 29-03-2005 à 19:10:59  profilanswer
 

BB code, franchement, je trouve ça con.
Pourquoi ne pas simplement autoriser certaines balises HTML ? Surtout que la majorité des bbcode sont, à part [], les mêmes qu'en HTML.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  probleme de bbcode

 

Sujets relatifs
Probleme avec qt/kdevelop[PHP][MySql] problème de connection à la bdd
Problème d'affichageMysql : après DELETE la base garde la même taille et problème d'Id
[MFC] Problème avec OnPaint et un TimerProblème avec getURL();
[C#] Problème de surcharge [RESOLU]problème de css
[PHP] BBCode vers html problème avec <br>problème avec les la transformation de lien en BBCode
Plus de sujets relatifs à : probleme de bbcode


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR