par
renan44 » 29 déc. 2005, 12:01
Bonjour, je fais actuellement un script pour mon site, et je bloque un moment.
J'ai un texte qui contient des balises personnaliser. Voici en gros la structure :
[CAT=nom de la cat]
[TABLEAU]
ligne 1 *
ligne 2 *
[/TALBEAU]
Je veux transformer cela pour qu'il y ait le titre de la catégorie en gras, et en dessous le tableau. Indivicuellement, j'arrive modifier chaque élément, mais lorsque tout cela est ensemble, et surtout, lorsque cela se répète plusieurs fois (plusieurs catégorie les unes en dessous des autres) je bloque, et ça ne marche pas !
J'aimerais donc savoir comment faire pour changer ces données quand elles sont mise ensemble.
Vous pouvez voir le résultat de chaque partie sur cette page :
http://astunet.free.fr/test.php
Voici le code que j'utilise pour chaque partie :
<?
$texte1='[TABLE]bonjour tous le monde[/TABLE]';
$texte2="[INFO=je viens manger chez toi à l'aube]";
$texte3='Renan | 19ans *
Ptrick | 52ans *
Roger | 68ans';
//TEST 1
echo 'TEST N°1: [TABLE]bonjour tous le monde[/TABLE]<br><b>Résultat >>> </b>';
if(eregi("([[])(TABLE)([]])(.*)([[])(/TABLE)([]])", $texte1, $sortie1))
{
echo '<table width="50%" border="1" bgcolor="#0099FF">
<tr>
<td bgcolor="#FFFFFF">'.$sortie1[4].'</td></tr></table>';
}
else { echo 'Cette balise n\'a pas été trouvée'; }
//TEST 2
echo '<p> </p>TEST N°2: [INFO=je viens manger chez toi à l\'aube]<br><b>Résultat >>> </b>';
if(eregi("([[])(INFO)([=])(.*)([]])", $texte2, $sortie2))
{
echo 'Information : '.$sortie2[4];
}
//TEST 3
echo '<p> </p>TEST N°3: grouper les infos<br><b>Résultat >>> </b>';
$liste=explode("*",$texte3);
$nb=count($liste);
for($i=1; $i<=$nb; $i++)
{
$nb_liste=$i-1;
$liste2=explode("|", $liste[$nb_liste]);
echo 'Nom : '.$liste2[0].'<br>';
echo 'Age : '.$liste2[1].'<br><br><br>';
}
?>
Merci d'avance de vos réponses !
Bonjour, je fais actuellement un script pour mon site, et je bloque un moment.
J'ai un texte qui contient des balises personnaliser. Voici en gros la structure :
[CAT=nom de la cat]
[TABLEAU]
ligne 1 *
ligne 2 *
[/TALBEAU]
Je veux transformer cela pour qu'il y ait le titre de la catégorie en gras, et en dessous le tableau. Indivicuellement, j'arrive modifier chaque élément, mais lorsque tout cela est ensemble, et surtout, lorsque cela se répète plusieurs fois (plusieurs catégorie les unes en dessous des autres) je bloque, et ça ne marche pas !
J'aimerais donc savoir comment faire pour changer ces données quand elles sont mise ensemble.
Vous pouvez voir le résultat de chaque partie sur cette page : http://astunet.free.fr/test.php
Voici le code que j'utilise pour chaque partie :
[php]
<?
$texte1='[TABLE]bonjour tous le monde[/TABLE]';
$texte2="[INFO=je viens manger chez toi à l'aube]";
$texte3='Renan | 19ans *
Ptrick | 52ans *
Roger | 68ans';
//TEST 1
echo 'TEST N°1: [TABLE]bonjour tous le monde[/TABLE]<br><b>Résultat >>> </b>';
if(eregi("([[])(TABLE)([]])(.*)([[])(/TABLE)([]])", $texte1, $sortie1))
{
echo '<table width="50%" border="1" bgcolor="#0099FF">
<tr>
<td bgcolor="#FFFFFF">'.$sortie1[4].'</td></tr></table>';
}
else { echo 'Cette balise n\'a pas été trouvée'; }
//TEST 2
echo '<p> </p>TEST N°2: [INFO=je viens manger chez toi à l\'aube]<br><b>Résultat >>> </b>';
if(eregi("([[])(INFO)([=])(.*)([]])", $texte2, $sortie2))
{
echo 'Information : '.$sortie2[4];
}
//TEST 3
echo '<p> </p>TEST N°3: grouper les infos<br><b>Résultat >>> </b>';
$liste=explode("*",$texte3);
$nb=count($liste);
for($i=1; $i<=$nb; $i++)
{
$nb_liste=$i-1;
$liste2=explode("|", $liste[$nb_liste]);
echo 'Nom : '.$liste2[0].'<br>';
echo 'Age : '.$liste2[1].'<br><br><br>';
}
?>
[/php]
Merci d'avance de vos réponses !