Truc de fou avec <li>

Fermé
bowbow13 - 14 juin 2007 à 16:16
 bowbow13 - 15 juin 2007 à 09:39
Voila j ai un petit probleme avec des <li>
J ai une base de donné indiquant si le code doit avoir des balises de list et par la suite une récupération avec un str_replace

Lorsque j affiche la page sans rien direct a partir du fichier ca marche correctement. En revanche lorsque j affiche la meme page a partir du menu et donc elle s affiche dans une div.
Tout le code (au niveau des <li> du moins) devient foireux et les balises disparait.

De plus j ai remarqué un truc lorsque j affiche la page directement sasn passer le menu avec un str_replace de type :
$para=nl2br($affiche[5]);
$remplacePara = str_replace("<br />", "</li><br /><li>", "$para");
les balises y sont.

avec
$para=nl2br($affiche[5]);
$remplacePara = str_replace("<br /><br />", "</li><br /><li>", "$para");

les balises n y sont pas

Avec le premier str dans la page menu, il me fait un saut de ligne entre les liste sans pour autant afficher les . des <li>

C'est vraiment un truc de malade qui me fait tourner en rond.

Auriez vous une solution pour afficher les <li> tout en gardant ce systeme par une bdd?
merci d avance

3 réponses

personne n a une idée?
0
Slt,

Juste une petite question.

As-tu ouvert la première <li> et surtout fermer la dernière ?

En effet, dans ton code, je vois que tu remplace <br /><br /> par </li><br /><li>

Si tu as donc dans ta liste d'éléments
Item 1 <br /><br />
Item 2 <br /><br />

Cela donnera

Item 1 </li><br /><li>
Item 2 </li><br /><li>

Donc l'Item 2 est correctement listé mais pas le 1 et surtout l'ouverture du dernier <li> donnera je ne sais quoi...

Mais tu nous as donnée juste une partie du code alors ma réponse est peut être inutile...
0
            $para=nl2br($affiche[5]);
            $remplacePara = str_replace("<br /><br />", "</li><li>", "$para");
            echo("<tr><td><ul><li>$remplacePara</li></ul><br /></td></tr>");

Voici mon code, $affiche[5] c'est la récupération de la variable de la bdd.
Je fais mon nl2br pour garder la mise en forme de la bdd.
Apres mon str_replace pour include mes liste
et enfin l affichage et la j ouvre ma unordered list et je la ferme apres donc en tout logique il devriait y a voir une li en trop ce qui me dérange pas particulierement.
Le truc c'est qu en page seul nickel, et des que c'est en l appellant dans une div dans une autre page..... ca garde la mise en forme (en retour chariot) mais ca fait disparaitre les point devant.

Sachant que le type ainsi que l activation de la liste est appeller d une autre table de la bdd mais sinon ca marche bien quand elle est seul sans le menu lol
0