webForumDet fria alternativet

Göra en punkt/nummer-lista av • resp. 1., 2., 3. ?

PHP

2 svar · 910 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#1

Hej alla glada!

Jag hämtar ut ett fält från databasen som ibland innehåller "manuellt gjorda listor". Det måste vara så, men när det presenteras skulle jag vilja söka igenom och göra om det till ul och ol-listor.

T.ex.
• Listrad 1
• Listrad 2

blir:
<ul>
<li>Listrad 1</li>
<li>Listrad 2</li>
</ul>

och
1. Listrad 1
2. Listrad 2

blir:
<ol>
<li>Listrad 1</li>
<li>Listrad 2</li>
</ol>

Notera att inte alla poster har listor och ibland finns bara ena typen och ibland finns båda två. Dock aldrig i flera nivåer.

Jag vill alltså kolla efter • och 1. och om den första hittas så börjas en lista och för varje • eller X. så antingen skapas ett nytt listobjekt eller så stängs listan beroende på om fler dyker upp.

Hur gör man detta? :) Tack!

Medlem sedan nov. 20016 480 inlägg
#2

Idéer? :)

Medlem sedan juli 2003555 inlägg
#3

Exempel på pseudo:

variabel sista = ""
loopar igenom raderna
if rad.första
  if rad.börjarmed "1"
    skriv "<ol>"
    sista = "</ol>"
  else
    skriv "<ul>"
    sista = "</ul>"
skriv "<li>" + rad + "</li>"
slut loop
skriv sista
267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)