An sich performant, aber man muss bedenken, dass man beim Erstellen der neuen Knoten eigentlich drei Strings für drei Textknoten braucht: Der String vom Anfang des Textknotens bis zum Wort, das Wort selbst, der String vom Wort bis zum Ende des Textknotens. Daraus wird dann ein Textknoten, ein Elementknoten mit dem Wort als Textknoten und ein weiterer Textknoten.
Genau so funktioniert mein Script. Und genau darum (und wegen des Problems der Flexion und der Komposita) komme ich nicht um reguläre Ausdrücke herum.
Noch zur Erläuterung: ich hatte nicht vor, solch ein Script in die produktive Website einzubauen. Mein "Glossar-Assistent" sollte meine Kollegen bei der Arbeit unterstützen, die für Inhalte und damit auch für die Auszeichnung von Glossarbegriffen zuständig sind.
Ursprünglich hatte ich einen serverseitigen Ansatz mit PHP - allerdings muß man dort mit weitaus komplexeren regulären Ausdrücken anrücken, da PHP an sich ja erst einmal nicht von DOM weiß.
An anderer Stelle in diesem Thread wurde aber auf ein DOM-Modul bzw- eine solche Bibliothek für PHP hingewiesen. Ich denke, ich werde mir das einmal ansehen. Der browserbasiert Ansatz scheint mir jedenfalls eine Sackgasse zu sein. Ich sehe da keine Optimierungsmöglichkeiten mehr.
Danke an alle hier für die Diskussion und die Anregungen!
Andreas