Ik ben bezig met een UBB parser en nu wil ik op het gebied van tabellen maken hetzelfde mogelijk maken als op GoT mogelijk is (zie hier onderaan).
Dit is een deel uit de code die ik nu heb:
Het werkt wel, maar dit gaat nog lang niet goed genoeg, aangezien ie nu een [table] UBB tag (zonder width=x) niet zal gaan parsen. Maar ik heb ook geen idee hoe ik voor elkaar gaat krijgen dat ie elke mogelijke combinatie van een [table] goed parsed. Dus bijvoorbeeld:
- [table width=100 border=0 cellpadding=2 background=#ffffff]]
- [table cellpadding=2 cellspacing=5 width=100 background=#ffffff]]
- enz, enz
Iemand een idee hoe je zoiets zonder al te veel coderegels voor elkaar kunt krijgen? Je kunt natuurlijk wel voor elke mogelijke combinatie een nieuwe parse-regel maken, maar dat lijkt me niet echt handig.
Dit is een deel uit de code die ik nu heb:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| function ReplaceText($tekst) { $patterns = array( "/\\[table\s(width=)(.+?)\]/s", ); $replaces = array( "<table border=\"0\" width=\"\\2\" cellspacing=\"2\" cellpadding=\"2\">\n", ); $tekst = htmlspecialchars($tekst); $result = preg_replace($patterns, $replaces, $tekst); return $result; |
Het werkt wel, maar dit gaat nog lang niet goed genoeg, aangezien ie nu een [table] UBB tag (zonder width=x) niet zal gaan parsen. Maar ik heb ook geen idee hoe ik voor elkaar gaat krijgen dat ie elke mogelijke combinatie van een [table] goed parsed. Dus bijvoorbeeld:
- [table width=100 border=0 cellpadding=2 background=#ffffff]]
- [table cellpadding=2 cellspacing=5 width=100 background=#ffffff]]
- enz, enz
Iemand een idee hoe je zoiets zonder al te veel coderegels voor elkaar kunt krijgen? Je kunt natuurlijk wel voor elke mogelijke combinatie een nieuwe parse-regel maken, maar dat lijkt me niet echt handig.