To do so, fairly extensive changes to the feature/ascraeus-experiment parser are required. The required changes (although they're not necessarily complete) can be found here:
http://github.com/terrafrost/phpbb3/tre ... es/bbcode/
The next step, of course, is to integrate those changes into phpBB (the feature/ascraeus-experiment branch doesn't do this). Some work to that end can be found here:
http://github.com/terrafrost/phpbb3/blo ... parser.php
http://github.com/terrafrost/phpbb3/blo ... wtopic.php
With these changes a post can be made, previewed and edited with the feature/ascraeus-experiment parser. Without further modification, stuff like signatures aren't going to work, but I figure other people can help out with the more mundane / tedious aspects of this
As for what I mean by "structurally invalid BBcodes"...
Code: Select all
[list][*][quote]
[*][quote]test[/quote][/quote][/list]
Other issues are as follows:
- BBcode bitfields are not yet supported.
- BBcodes need to be cached (ala bbcode::bbcode_cache_init)
- It might be neat to have a new column in posts_text - original_post_text. post_text would then be short for parsed_post_text. The motiviation behind this idea is that decompiling an already parsed message won't necessarily get you the original message and sometimes having the original message can be useful for debugging or what-not.
- The ACP module for defining custom BBcodes would need to be rewritten. Should the attempt be made to port phpBB3-style BBcodes to this new BBcode format?
- Maybe the need to enumerate valid and invalid children could be partially eliminated by defining some elements as block level and other elements as inline? ie. <div> is a block level element and can contain in-line elements like <span> but because <span> is in-line it can't contain <div>.