login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ubb table?

Offline robmoorman - 24/10/2007 10:55
Avatar van robmoormanPHP interesse Weet iemand een UBB sript hoe ik tabellen kan maken? Bij voorbaat met procenten.
bv.

[table]
[tr]
[td=60]naam[/td]
[td=40]blabla[/td]
[/tr]
[td=60]rob[/td]
[td=40]jklkjkjkjkl[/td]
[/tr]
[/table]

mvg ro

5 antwoorden

Gesponsorde links
Offline CDNC - 24/10/2007 13:30 (laatste wijziging 24/10/2007 13:31)
Avatar van CDNC PHP ver gevorderde
  1. <?
  2.  
  3. if(count(explode('[td]'), $sIets)) == count(explode('[/td]'), $sIets))
  4. &&
  5. count(explode('[tr]'), $sIets)) == count(explode('[/tr]'), $sIets))
  6. &&
  7. count(explode('[table]'), $sIets)) == count(explode('[/table]')), $sIets)
  8. )
  9. {
  10. $sIets = str_replace(array('[td]','[/td]','[tr]','[/tr]','[table]','[/table]'), array('<td>','</td>','<tr>','</tr>','<table>','</table>'), $sIets);
  11. }


count(explode( zal wrs wel een functie voor bestaan ma ze ontglipt me ff
Offline timmie_loots - 24/10/2007 15:12 (laatste wijziging 25/10/2007 21:43)
Avatar van timmie_loots PHP gevorderde Wat je dus wél wilt, is werken met regular expressions. Moet je eens op regular-expressions.info kijken. Daar zul je zien dat je dit soort dingen kunt parsen op een goede manier..
Offline Koen - 24/10/2007 15:47 (laatste wijziging 25/10/2007 21:37)
Avatar van Koen PHP expert
  1. $mess = preg_replace("#\[TABLE\](.*?)\[/TABLE\]#si","<table>\\1</table>", $mess);
  2. $mess = preg_replace("#\[TR\](.*?)\[/TR\]#si","<tr>\\1\</tr>",$mess);
  3. $mess = preg_replace("#\[TD breedte=(.*?) hoogte=(.*?)\](.*?)\[/TD\]#si","<td width=\"\\1\" height=\"\\2\">\\3</td>", $mess);

Probeer dit eens?
Offline timmie_loots - 24/10/2007 15:55
Avatar van timmie_loots PHP gevorderde Overigens kun je dit probleem beter aanpakken met behulp van de functie preg_replace_callback(), hoewel je voorbeeld erg goed was, sliphead.

Door slim gebruik te maken van preg_replace_callback() is de uiteindelijke HTML die er uit vandaan komt beter, omdat je beter kunt controleren of het een volledige tabel betreft, of slechts rijen en kolommen.

Wat ik dus bedoel is dat je met preg_replace_callback() de table tags pakt, en dan in de callback de [tr]'s en [td]'s parsed. Het kan ook met lookahead/around's, maar dan krijg je veel verschillende expressions. Dat willen we uiteraard niet want we willen de server sparen.
Offline robmoorman - 29/10/2007 19:46 (laatste wijziging 29/10/2007 19:48)
Avatar van robmoorman PHP interesse ok ik heb nu:
  1. verwijderd


word dan:
  1. verwijderd


dit klopt dus niet heeelaaamll, ik krijg alleenmaar strepen enz te zien....

mijn gehele ubb ziet er zo uit:
  1. verwijderd


Citaat:
Rens edit:
Lappen code horen op http://www.plaatscode.be
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.291s