balanceTags should ignore shortcodes & their content
|Reported by:||ciantic||Owned by:|
|Component:||Shortcodes||Keywords:||needs-patch needs-unit-tests 2nd-opinion|
Take following input:
after balanceTags() it becomes:
Well, this is not what the shortcode creator probably wanted.
If you are feeling lazy: Convert [.*] to <$1> and since balanceTags handles XML it should work, afterwards convert appropriate <> back to . Though this does not give a shortcode creator chance to disallow balancing tags inside it's content which is bad.
Better fix is to allow shortcode creators to decide wether their contents should be balanced:
- balanceTags() should ignore all shortcodes and their contents.
- Parse all shortcodes in content and on each shortcode call apply filter on so that shortcode creator can hook (if sees it appropriate) on to that. Shortcode creator then can call balanceTags() in his filter of that shortcode in order to run balanceTags() contents of shortcode separately if wanted.