Hi Andy,
$Daten = $row->Daten; Echo "<a onclick='ShowLinkDaten(this)' Daten='Email Benutzername Passwort'";
Function ShowLinkDaten(Link) { txt = Link.getAttribute("Daten") DatenZeile.innerHTML = txt.replace(" "," ") }
hast du auch gelesen, dass String.replace() per Default nur das erste gefundene Zeichen ersetzt? Das würde deine Beobachtung erklären, dass nachher zwei Spaces an der jeweiligen Stelle stehen, nämlich ein   und die nicht umgewandelten weiteren Leerzeichen, die zu einem kombiniert werden.
Wenn du alle Vorkommen im String ersetzen willst, musst du replace() mit einem RegEx anstatt einem String als Suchmuster aufrufen und den Modifier /g ergänzen.
Unabhängig davon gilt, was Felix schon gesagt hat: Einem Link (a-Element) ein Attribut Daten anzuhängen, erzeugt ungültiges (invalides) HTML.
Und ein Link mit einem onclick-Eventhandler sieht auch stark nach einem unpassenden Element aus: Ein Link verweist auf eine andere Ressource; in deinem Fall wäre eventuell ein button-Element passender.
Ich verwende den Tag Daten dann auch noch an anderer Stelle und in einem Textfeld wird alles einwandfrei angezeigt.
Textfeld heißt <input type="text"> oder <textarea />? Klar, die Inhalte dieser Elemente sind nur Text, kein HTML. Da werden keine Spaces zusammengefasst, sondern exakt 1:1 wiedergegeben.
So long,
Martin
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy