Ich könnt höchstens vorstellen es liegt an nicht korrekt in sich verschachtelten Tags? Dann könntest du die Tags auseinandernehmen und bei Bedarf mehrfach hintereinander schreiben.
Beispiel:
a b c <x>d e f</x>
soll von b bis d zusätzlich mit <y> markiert werden.
a <y>b c <x>d</y> e f</x> ist ungültig.
Dann mach das draus: a <y>b c</y> <x><y>d</y> e f</x>
hat meine Funktion ein Problem.
Trotz meiner Vermutung ist es eine sehr sinnvolle Idee das Problem zu verraten.