5.6k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von uesch Mitglied (135 Punkte)
Hallo,

ich versuche gerade, ein Script zu schreiben, welches mir Buchstaben, die in ein Textfeld eingegeben werden, in Echtzeit umwandelt. Dazu habe ich bisher folgendes gefunden:

function SuchenUndErsetzen(QuellText, SuchText, ErsatzText)
{

if ((QuellText == null) || (SuchText == null)) { return null; }
if ((QuellText.length == 0) || (SuchText.length == 0)) { return QuellText; }


if ((ErsatzText == null) || (ErsatzText.length == 0)) { ErsatzText = ""; }

var LaengeSuchText = SuchText.length;
var LaengeErsatzText = ErsatzText.length;
var Pos = QuellText.indexOf(SuchText, 0);

while (Pos >= 0)
{
QuellText = QuellText.substring(0, Pos) + ErsatzText + QuellText.substring(Pos + LaengeSuchText);
Pos = QuellText.indexOf(SuchText, Pos + LaengeErsatzText);
}
return QuellText;
}


Und dann im HTML:

<INPUT TYPE="TEXT" NAME="SucheNach" VALUE="a" size="20">
<INPUT TYPE="TEXT" NAME="ErsetzeDurch" VALUE="b" size="20">

<INPUT TYPE="TEXT" NAME="Ergebnis" onkeydown="this.form.Ergebnis.value=SuchenUndErsetzen(this.form.Ergebnis.value, this.form.SucheNach.value, this.form.ErsetzeDurch.value)" onchange="this.form.Ergebnis.value=SuchenUndErsetzen(this.form.Ergebnis.value, this.form.SucheNach.value, this.form.ErsetzeDurch.value)" size="20">


Das funktioniert soweit, es wird der Buchstabe "a" durch den Buchstaben "b" ersetzt, wenn ich etwas ins Textfeld eingebe. Nun ist meine Frage aber, wie kann ich das ganze mit mehr Buchstaben machen? Es müssen also alle 26 Buchstaben plus einige Sonderzeichen eine Ersetzung erhalten.

Würde mich freuen, wenn mir jemand helfen könnte.

Schönen Gruß,
Üsch

23 Antworten

0 Punkte
Beantwortet von Experte (6.4k Punkte)
kannst Du ja dann machen, wenn Du ihn im Kopf hast.
0 Punkte
Beantwortet von Experte (6.4k Punkte)
<!DOCTYPE html> schickt übrigens keineswegs alle aktuellen Browser in den Quirksmodus....im Gegenteil.
0 Punkte
Beantwortet von
wenn Du ihn im Kopf hast
ach du Experte! Ich nutze natürlich Copy&Paste.
...