Heißt das, dass ich gewisse Zeichen gar nicht ersetzten kann?
nein - du kannst jedes zeichen ersetzen, problemlos sogar - du musst dir nur im klaren sein, dass du die zeichen die zu deinem markup gehören, in frieden lassen musst
Oder wie kann ich das sonst lösen?
forme den regulären ausdruck so um, dass er sämtliches markup (also die tags sowie den inhalt der attribute) in frieden lässt
<a href="http://example.com/">mein link</a> wird momentan von dem regulären ausdruck zu dem hier umgeformt:
<span class="sonderzeichen"><</span>a href
<span class="sonderzeichen">=</span>
<span class="sonderzeichen">"</span>
<span class="sonderzeichen">http
<span class="sonderzeichen">:</span>
<span class="sonderzeichen">/</span>
<span class="sonderzeichen">/</span>example
<span class="sonderzeichen">.</span>com
<span class="sonderzeichen">/</span>
<span class="sonderzeichen">"</span>
<span class="sonderzeichen">></span>mein link
<span class="sonderzeichen"><</span>
<span class="sonderzeichen">/</span>a
<span class="sonderzeichen">></span>
und das solltest du verhindern