jBBCode icon indicating copy to clipboard operation
jBBCode copied to clipboard

Allow TextNodes to be split

Open DaSourcerer opened this issue 10 years ago • 0 comments

This could possibly address #4 and help with #9:

There is currently no good way to cleanly split the content of a TextNode into serveral nodes after parsing. Doing so is vital when dealing with smileys and/or standalone links as they are likely to clash when it comes to processing them through dedicated filters. and masking them later through the HTMLSafeVisitor. A rather pain-free approach would be to allow TextNodes themselves have children, which would involve:

  1. moving the appropriate logic out of ElementNode into Node;
  2. allow TextNodes to be split at arbitrary positions through a public method (e.g.: TextNode.insertNodeAt(int $position, Node $node[, int $length=1])

A welcome side-effect were that DocumentNode could extend either TextNode or even Node directly instead of being a descendant of ElementNode.

DaSourcerer avatar Apr 27 '15 20:04 DaSourcerer