par
didgar » 22 janv. 2006, 03:05
Salut !
Ne vous cassez plus la tête, j'ai réussi.
Voici comment j'ai procédé si ça vous branche
<?php
$texte='[quote="toto"][quote="titi"]
Salut !
Ceci est un test !
titi[/quote]
Ceci est la réponse au test !
toto[/quote]
Ceci est la réponse à la réponse !
titi'; // ça c'est le texte récupéré de la bdd
preg_match_all("|"(.*)"|U",$texte,$out,PREG_PATTERN_ORDER); // voir php.net c'est bien expliqué ! Ca me sert à recuperer ce qui est entre double quote à savoir le nom des auteurs des messages - je m'en sers plus loin pour fabriquer le bbcode à la volée
$bbcode=array(
'[quote]' => '<div class="citation">',
'[/quote]' => '</div>',
'[b]' => '<strong>',
'[/b]' => '</strong>',
'[i]' => '<em>',
'[/i]' => '</em>',
'[u]' => '<u>',
'[/u]' => '</u>'
); // fabrication d'un tableau associatif bbcode => motif de remplacement
// depuis que j'ai édité mon message, il apparait une série de chr précédés de ':' dans mon tableau $bbcode - ne pas en tenir compte //
for($i=0;$i<count($out[1]);$i++)
{
$bbcode["[quote="".$out[1][$i].""]" ] = "<span class='auteur'>".$out[1][$i]." a écrit :</span><div class='citation'>"; // fabrication à la volée du bbcode et du motif de remplacement qui vont bien ;-)
}
$test_string = str_replace(array_keys($bbcode), array_values($bbcode), $texte); // on remplace les bbcode par leur motif respectif si besoin
echo nl2br($test_string); // on affiche et c'est terrible !
?>
Et une 'tite capture du résultat :
Si un puriste a une meilleure méthode ça m'intéresse.
Bonne fin de WE.
A+
Didier
Salut !
Ne vous cassez plus la tête, j'ai réussi.
Voici comment j'ai procédé si ça vous branche ;-)
[php]
<?php
$texte='[quote="toto"][quote="titi"]
Salut !
Ceci est un test !
titi[/quote]
Ceci est la réponse au test !
toto[/quote]
Ceci est la réponse à la réponse !
titi'; // ça c'est le texte récupéré de la bdd
preg_match_all("|"(.*)"|U",$texte,$out,PREG_PATTERN_ORDER); // voir php.net c'est bien expliqué ! Ca me sert à recuperer ce qui est entre double quote à savoir le nom des auteurs des messages - je m'en sers plus loin pour fabriquer le bbcode à la volée
$bbcode=array(
'[quote]' => '<div class="citation">',
'[/quote]' => '</div>',
'[b]' => '<strong>',
'[/b]' => '</strong>',
'[i]' => '<em>',
'[/i]' => '</em>',
'[u]' => '<u>',
'[/u]' => '</u>'
); // fabrication d'un tableau associatif bbcode => motif de remplacement
// depuis que j'ai édité mon message, il apparait une série de chr précédés de ':' dans mon tableau $bbcode - ne pas en tenir compte //
for($i=0;$i<count($out[1]);$i++)
{
$bbcode["[quote="".$out[1][$i].""]" ] = "<span class='auteur'>".$out[1][$i]." a écrit :</span><div class='citation'>"; // fabrication à la volée du bbcode et du motif de remplacement qui vont bien ;-)
}
$test_string = str_replace(array_keys($bbcode), array_values($bbcode), $texte); // on remplace les bbcode par leur motif respectif si besoin
echo nl2br($test_string); // on affiche et c'est terrible !
?>
[/php]
Et une 'tite capture du résultat :
[img]http://gardid.free.fr/avatar/messagerie.gif[/img]
Si un puriste a une meilleure méthode ça m'intéresse.
Bonne fin de WE.
A+
Didier