1. Anführungszeichen in Tags dürfen nicht getauscht werden,
im Text schon
Da wäre schon mal die Frage, ob auch die Validität des HTML mitgeprüft wird.
Was machst Du ansonsten mit
<input type="hidden" name="foo" value="Ich sage "Hallo"."> ?
2. < und > nur ersetzten, wenn sie kein Tag einleiten,
bzw. beenden
Ist "Tag" definiert als "valides HTML-Tag"? Das wäre auch wieder knifflig, weil ja
Sei b<a gegeben. Dann b positiv => a positiv.
so ohne weiteres nicht von einem <a>-Tag zu unterscheiden ist, außer durch exzessives Sytax-parsing.
3. bereits getauschte nicht nochmals ersetzten,
z.B. & nicht &
Das sollte mit einer RegExp gehen.