![]() |
[php] groepproject UBB parser maken
Hallo mede s.com nerdjes :)
Uit verveling maar ik altijd ubb parser (don't ask :p) en nu had ik een idee om een goede ubb parser te gaan maken, dit van zich zelf ook zeer inteligent is en zelf fouten in de text kan vinden. foutjes zoals code die hier boven staat is [b] [code] [/b] [/code] en als een quote afsluit alle codes die in de quote nog open waren afsluiten en dan daar buiten weer openen Voor: [quote] [b] Blod text in een quote [/quote] verdere text [/b] Na: [quote] [b] Blod text in een quote [/b] [/quote] [b]verdere text [/b] anders krijg je opmaak foutjes zoals, Quote dat bold is bijvoorbeeld Wie heeft zin om hier mee te werken :? |
heej goed id!
ik wil wel meehelpen, maar (MAAR!) ik wil eerst ff m forum gedeeltelijk af hebben (dat je kan lezen e.d., en dat het goed zit met de permissies) (mag ik die dan gebruiken in me forum??? plz... :D ;)) |
je bouwt er toch zelf aan, dus ja? :p
mijn idee is ook om als je een bericht op een forum post dat de eerste stap dan is dat hij de text omgaat zetten en malig, (scheelt rekenkracht als hij 50 stuks op een pagina moet doen) bijvoorbeeld: [b] bold [/b] omzet naar [b:123] bold [/b:123] 123 is hier het ID nummer van de post in het forum, zo kun je bij het bericht quoten snel de andere quote replacen tot [...] of er gewoon uitfilteren :) en dan als je het bericht zelf wil parsen alleen maar dit hoeft te doen PHP-code:
|
Citaat:
Citaat:
|
dat :123 (id van post) is gewoon dat de second pass gewoon snelle parse kan doen omdat hij alleen met str_replace alles kan replacen ook qoute in een qoute in een.... enz dat kan preg_replace niet, preg_replace doet maar 1 keer en dan houdt die op (slechte eigenschap eigenlijk) dus gaat de first pass overal :123 bijzetten en dan kan second pass gewone domme werk doen :)
|
Citaat:
je kan toch gewoon str_replace("[b]", "<b>", $text); doen? en dat ie de quotes uit de quotes haalt vind ik niet zo nuttig... maar misschien jij wel, maak dan dat je het aan en uit kan zetten... owja: dit is handig: [quote=username] (zie phpBB) die moeten we echt inbouwen, en ik vind dat de codes uit een database moeten komen, en dat het makkelijk moet zijn om nieuwe codes toe te voegen ik zie trouwens niet veel andere mensen die hier op reageren... lijkt me wel handiger trouwens, want met een groep van >3 zoiets doen lijkt me bijna onmogelijk |
denk er nu alleen over ja, enige na deel aan str_replace idee,
bij iedere code moet hij hele bericht weer na zoeken, andere idee is om eerst een splitter te gaan maken die in arrays gooit en dat die die dan gaat na kijken, bijvoorbeeld PHP-code:
Code:
[3] => Array id 1 = tag open id 2 = tag sluiten [quote][b] ben ik dom als ik het nog niet snap? je kan toch gewoon str_replace("", "<b>", $text); doen? en dat ie de quotes uit de quotes haalt vind ik niet zo nuttig... maar misschien jij wel, maak dan dat je het aan en uit kan zetten... owja: dit is handig: Citaat:
als je gewoon str_replace doet kun je maar 1 ding, niett str_replace("(.+)", "<b>\\1</b>", $text); zowals bij preg_replace. str_replace vervangt gewoon wat hij gezegt wordt en geen moeilijke dingen :) |
ow, ik snap het nu denk ik, je doet 1st met preg_replace, omdat die het bter kan dan str_bla, maar je wil in de database geen html zetten, en voor de snelheid... *bla**bla*
goed? :D dat array id vind ik maar niks, dit is een goed plan.. tot wanneer is de inschrijf periode? ;) |
als dit met zoveel personen door gaat.....
niet :( |
zoiets kan je beter helemaal zelf doen..
maar dan moet je wel alle kennis erover hebben... heb je het niet? Leer het of begin er niet aan. |
Alle tijden zijn GMT +1. Het is nu 20:57. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.