samclarke / SCEditor

A lightweight HTML and BBCode WYSIWYG editor
http://www.sceditor.com/
Other
659 stars 188 forks source link

Сode bbcode must support recursion #939

Open MioVisman opened 1 year ago

MioVisman commented 1 year ago

Now the display in the editor is broken pic1

result: pic2

P.S. Some forums support recursion in this bbcode

fluxbb pic3

forkbb pic4

samclarke commented 1 year ago

Thanks for reporting!

I've just been loking into how FluxBB handles the ambiguity of parsing the code tags. It seems to do it by requiring the same number of opening and closing code tags.

So FluxBB can't handle:

a[code]b[code]c[/code]d

or

a[code]b[/code]c[/code]d

but can handle:

a[code]b[code]c[/code]d[/code]e

It also looks like other BBCode parsers follow current editor behaviour so this would have to be configurable and default to the current behaviour.

One issue with implementing this is what should the editor do with the ambiguous examples? It has to convert them to something as it can't really show an error like FluxBB.

It could:

Also, if in WYSIWYG mode someone enters only an opening or closing code tag inside a code block, what should the editor convert it to? Should it generate the ambiguous BBCode or should it automatically insert the missing opening/closing tag?

Marking this as a feature rather than a bug as the current behaviour matches other parsers and this would be a new option.