[résolu] balises BBCodes que mon script ne prend pas en compte ...

balises BBCodes que mon script ne prend pas en compte ... [résolu] - PHP - Programmation

Marsh Posté le 01-03-2005 à 10:34:37    

Coucou à tous !  
J'ai un petit script qui se repose sur du BBcode :  

Code :
  1. // Balises Gras
  2. $texte = preg_replace ("/\[b\](.+)\[\/b\]/Ui","<b>\\1</b>",$texte);
  3. // Balises Italique  
  4. $texte = preg_replace ("/\[i\](.+)\[\/i\]/Ui","<i>\\1</i>",$texte);
  5. // Balises Souligner
  6. $texte = preg_replace ("/\[u\](.+)\[\/u\]/Ui","<u>\\1</u>",$texte);
  7. // Balises [big] [/big] Grand
  8. $texte = preg_replace ("/\[big\](.+)\[\/big\]/Ui","<big>\\1</big>",$texte);
  9. // Balises [small] [/small] Petit
  10. $texte = preg_replace ("/\[small\](.+)\[\/small\]/Ui","<small>\\1</small>",$texte);
  11. // Balises [img] [/img] Image
  12. $texte = preg_replace ("/\[img\]([[:alnum:]]+):\/\/([^[:space:]]*)([[:alnum:]#?\/\&=]+)\[\/img\]/",
  13.  "<img src=\"\\1://\\2\\3\">",$texte); // Affichage d'image à partir de son url d'emplacement
  14. // Balises Liens Hypertext simple
  15. $texte = preg_replace ("/\[url\](.+)\[\/url\]/Ui","<a href=\"\\1\" target=\"_blank\">\\1</a>",$texte);
  16. // Blises [url=***] [url] Liens Hypertext mis en forme
  17. $texte = preg_replace ("/\[url=([[:alnum:]]+):\/\/([^[:space:]]*)([[:alnum:]#?\/\&=]+)](.+)\[\/url\]/",
  18.  "<a href=\"\\1://\\2\\3\" target=\"_blank\">\\4</a>",$texte);


 
Je voudrais insrérer des couleurs, tailles, etc,un peu comme dans phpBB , mais j'ai un peu du mal la ... :D Quelqu'un peu-t-il m'aider ? C'est exactement dans la même présentation, mais ce serait [color=[[:alnum]] ou .. ?
 
Merci !


Message édité par pouzy le 01-03-2005 à 14:13:59

---------------
Hello hello super jello
Reply

Marsh Posté le 01-03-2005 à 10:34:37   

Reply

Marsh Posté le 01-03-2005 à 11:01:01    

Voilà ce que j'ai mis :  

Code :
  1. $texte = preg_replace("/\[code\](.+?)\[\/code\]/", "<code>$1</code>", $texte);
  2.     $texte = preg_replace("/\[quote\](.+?)\[\/quote\]/", "<table width=100%><tr><th align=left>Citation :</th></tr><tr><td align=left>$1</td></tr></table>", $texte);
  3.     $texte = preg_replace("/\[quote=(.+?)\](.+?)\[\/quote\]/", "<table width=100%><tr><th align=left>$1 :</th></tr><tr><td align=left>$2</td></tr></table>", $texte);
  4.     $texte = preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/", "<font color=$1>$2</font>", $texte);
  5.     $texte = preg_replace("/\[list\](.+?)\[\/list\]/", "<ul><li>$1</li></ul>", $texte);


 
Seules les couleurs fonctionnent :o Quépassa ?


---------------
Hello hello super jello
Reply

Marsh Posté le 01-03-2005 à 11:03:21    

C'EST QUOI CA ////

<font color=$1>


 
PAS DE BALISE FONT MALHEUREUX §§§§§§§§
 
[:florentg]

Reply

Marsh Posté le 01-03-2005 à 11:07:10    

Je veux bien, mais comment faire passer ça en Css ? :D


---------------
Hello hello super jello
Reply

Marsh Posté le 01-03-2005 à 11:24:49    

Un CSS généré en PHP :)

Reply

Marsh Posté le 01-03-2005 à 11:26:05    

Heu, je veux bien ... des explications :) Je ne suis pas super ténu en PHP, la preuve en est que je me débrouille même pas pour insérer du BBCode :cry:


---------------
Hello hello super jello
Reply

Marsh Posté le 01-03-2005 à 13:12:31    

Bon, pour la liste je suis passé à  

Code :
  1. $texte = preg_replace("/\[list\](.+?)\[\/list\]/", "<li>\\1</li>", $texte);


Mais le problème c'est que je dois mettre [ list] et [ /list] à chaque ligne ! Dès qu'il y a un retour à la ligne, plus rien ne marche :(
Quelqu'un sait-il comment faire ? :)
 
PS : je cherche aussi toutes les "nouvelles" balises, à savoir ce qui remplace font color= ... etc :D


Message édité par pouzy le 01-03-2005 à 13:19:06

---------------
Hello hello super jello
Reply

Marsh Posté le 01-03-2005 à 16:14:31    

pouzy a écrit :

Bon, pour la liste je suis passé à  

Code :
  1. $texte = preg_replace("/\[list\](.+?)\[\/list\]/", "<li>\\1</li>", $texte);


Mais le problème c'est que je dois mettre [ list] et [ /list] à chaque ligne ! Dès qu'il y a un retour à la ligne, plus rien ne marche :(
Quelqu'un sait-il comment faire ? :)
 
PS : je cherche aussi toutes les "nouvelles" balises, à savoir ce qui remplace font color= ... etc :D


Code :
  1. $texte = preg_replace("/\[list\](.+?)\[\/list\]/Uim", "<li>\\1</li>", $texte);


Code :
  1. <span style="color:#123456">Ton texte en couleur</span>

Reply

Marsh Posté le 01-03-2005 à 18:05:27    

C'est un peu mieux :jap:

Reply

Sujets relatifs:

Leave a Replay

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