du musst & durch & ersetzten.
Hm, schrieb Stefan auch, aber warum?
Das Und ist in HTML ein Sonderzeichen, mit dem (wie Du sicher weißt) Maskierungen für Nicht-ASCII-Zeichen eingleitet werden. Das Und kann nicht alleine stehen, weil dann niemand wissen könnte, was der Text "&"im HTML-Code bedeutet; soll da in der Anzeige "&" draus werden oder der Text "&"?
Für normalen HTML-Code mag Dir das klar sein, Du vergisst aber anscheinend, das HTML nicht einfach beim ersten Anführungszeichen eines Parameters aufhört und danach wieder anfängt. Dementsprechend mußt Du also auch im href-Parameter vom <a> die HTML-Maskierung einsetzen.
Genau genommen gehören diese mit Und eingeleiteten Maskierungen nicht so richtig zur eigentlichen HTML-Funktion, sondern sind vielmehr eine Art Zeichensatzerweiterung. Ihre Umsetzung ist also rein logisch weniger in der Anzeige eines HTML-Dokuments angesiedelt, auch nicht im Auflösen des HTML-Codes, sondern vielmehr ganz weit unten, dort wo die einzelnen Bytes von der Festplatte (oder aus dem Netz) gelesen werden und in den Puffer des Browsers wandern.
Gruß,
soenk.e