Trnasformation en BBCode

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Trnasformation en BBCode

par Truc » 17 août 2006, 13:28

Le titre n'est pas non plus très explicite... tu peux éditer ton 1er message pour le rendre plus pertinant afin de faciliter d'éventuelles recherches avec le même souci que toi :wink:

par triban » 17 août 2006, 13:17

Oki, je vais essayer ca de suite :).
Merci beaucoup du coupe de main !

par Truc » 17 août 2006, 13:11

Salut,

Tu peux éventuellement modifier ton code pour directement écrire en bbcode en modifiant ces deux lignes :
$tmp = '<span style="color:#'.$colors{$i}.'">'; 
par
$tmp = '[COLOR=#'.$colors{$i}.']'; 
$tmp .= '</span>'.$rows{$i}{$k}; $ok = true;
par
$tmp .= '[/COLOR]'.$rows{$i}{$k}; $ok = true;
Sinon tu devras penser aux expression régulières

Ce sujet serait effectivement plus à sa place dans le Forum "Débuter en PHP"... Je déplace
:wink:

par @rthur » 17 août 2006, 13:03

Bonjour,

Essaye de remplacer

Code : Tout sélectionner

<span style="color:#'.$colors{$i}.'">
par

Code : Tout sélectionner

[color=#'.$colors{$i}.']
et idem pour </span> avec [/color]

Trnasformation en BBCode

par triban » 17 août 2006, 12:15

Alors voila en fait j'explique le probléme...
Avec ce code-la:
#
<?php
#
if(!isset($_POST['text']))
#
        {?>
#
        <form method="post">
#
 
#
$colors{7} = 'CC3399';
#
$colors{8} = '3300CC';
#
$colors{9} = '996633';
#
$colors{10} = 'FF9900';
#
$colors{11} = '008080';
#
 
#
for($i = 15; $i <= 24; $i  )
#
        {$colors{$i} = $colors{$i-13};}
#
 
#
$colors{27} = 'FFFF00';
#
$colors{28} = '999999';
#
$colors{29} = '996600';
#
$colors{30} = 'FF0000';
#
 
#
        $j = 0;
#
        for($i = 0; $i < strlen($_POST['text']); $i  )
#
                {
#
                if($_POST['text']{$i} == "\r")
#
                        {$j  ;}
#
                elseif($_POST['text']{$i} == "\n")
#
                        {;}
#
                else
#
                        {$rows{$j} .= $_POST['text']{$i};}
#
                }
#
       
#
       
#
        $rows{0} = '<span style="font-weight:bold; color:blue;">'.$rows{0}.'</span>';
#
        $rows{13} = '<span style="font-weight:bold; color:#000000;">'.$rows{13}.'</span>';
#
        $rows{26} = '<span style="font-weight:bold; color:#000000;">'.$rows{26}.'</span>';
#
       
#
        ?><div align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:12px;"><?php
#
       
#
        for($i = 0; $i <= $j; $i  )
#
                {
#
                if(isset($colors{$i}))
#
                        {
#
                        $tmp = '<span style="color:#'.$colors{$i}.'">';
#
                        $ok = false;
#
                        for($k = 0; $k < strlen($rows{$i}); $k  )
#
                                {
#
                                if(strpos('1234567890', $rows{$i}{$k}) === false || $ok == true)
#
                                        {$tmp .= $rows{$i}{$k};}
#
                                else
#
                                        {$tmp .= '</span>'.$rows{$i}{$k}; $ok = true;}
#
                                }
#
                        $rows{$i} = $tmp;
#
                        }
#
                echo($rows{$i}."<br />\n");
#
                }
#
               
#
        ?></div><?php
#
        }?>
Ce code la donne ceci:

http://fkraiem.no-ip.org/test.php

Quand j'utilise ce programme, qui est un convertisseur de rapport de bataille pour un jeu, voici ce que cela me donne:

Image

En fait, au lieu d'obtenir le rapport directement, j'aimerais avoir le résultat en BBCode de ce genre la :

Code : Tout sélectionner

[center][b] [COLOR=blue]Unités de l'Attaquant (Unités tués ou Détruites) [/b][/COLOR] [COLOR=#009933]Esclaves[/COLOR] XXX (XXX) [COLOR=#006699]Porteurs de Sabres[/COLOR] XXX (XXX) [COLOR=#990033]Boucaniers[/COLOR] XXX (XXX) [COLOR=#CC9966]Frégate [/COLOR] XXX (XXX) [COLOR=#6699CC]Caravelles[/COLOR] XXX (XXX) [COLOR=#CC3399]Cog de Guerre[/COLOR]XXX (XXX) [COLOR=#3300CC]Cog de Transports[/COLOR] XXX (XXX) [COLOR=#996633]Canon[/COLOR] XXX (XXX) [COLOR=#FF9900]Pinace[/COLOR] XXX (XXX) [COLOR=-----]Navire de Colonisation[/COLOR]XXX (XXX) [b]Unités du Défenseur: (Unités tués ou Détruites)[/b] [COLOR=#009933]Esclaves[/COLOR] XXX (XXX) [COLOR=#006699]Porteurs de Sabres[/COLOR] XXX (XXX) [COLOR=#990033]Boucaniers[/COLOR] XXX (XXX) [COLOR=#CC9966]Frégate [/COLOR] XXX (XXX) [COLOR=#6699CC]Caravelles[/COLOR] XXX (XXX) [COLOR=#CC3399]Cog de Guerre[/COLOR]XXX (XXX) [COLOR=#3300CC]Cog de Transports[/COLOR] XXX (XXX) [COLOR=#996633]Canon[/COLOR] XXX (XXX) [COLOR=#FF9900]Pinace[/COLOR] XXX (XXX) [COLOR=-----]Navire de Colonisation[/COLOR]XXX (XXX) [b]Ressources Capturées[/b] [COLOR=#FFFF00]Or[/COLOR]: XXX [COLOR=#999999]Pierre [/COLOR]: XXX [COLOR=#996600]Bois[/COLOR]: XXX [COLOR=#FF0000]Nourriture[/COLOR]: XXX [/center]
Voila...
J'espére avoir été le plus clair possible ^^.
Désolé si cela ne va pas dans cette catégorie.

Merci de votre aide en tout cas :D [/url]