Antworten auf deine Fragen:
Neues Thema erstellen

Javascript: Umlaute ersetzen

Greenhorn79

Nicht mehr ganz neu hier

Hallo @all,

ich habe in HTML eine Textarea, in die der Benutzer einen beliebigen Text eingeben kann. Anschließend sollen a,e,i,u,o,ö,ä,ü ersetzt werden durch einen vom Benutzer gewählten Buchstaben. Das klappt auch mit der beigefügten Funktion eigentlich super. Nur mit den Umlauten kämpfe ich nun schon ewig herum. Wäre nett, wenn mir einer einen Tipp geben könnte, wo mein Fehler liegt. Hier habe ich es zunächst nur für das ä getestet.
Code:
function ersetzen(id)  {
    var eingabetext = document.getElementById('eingabetext').value;
    var auswahl = document.getElementById('vokal').value;
    var zwischenergebnis = eingabetext.replace(/ä/,"ae");
    //alert(zwischenergebnis);
    var ausgabe = zwischenergebnis.replace(/[aeiou]+/g,auswahl);
    document.getElementById('ausgabe').innerHTML=ausgabe;
    }
 

Robbyn-

PHP / Flex Programmierer

AW: Javascript: Umlaute ersetzen

Was läuft den da falsch? Geht es garnicht oder nur zum Teil oder wird nichts ausgegeben?
 

pascal.k

Basinga

AW: Javascript: Umlaute ersetzen

Ähm... willst du das hier?

HTML:
<a onclick="ersetzen()">ersetzen</a>
<form id="Testform" name="Testform">
<input type="text" id="eingabetext" name="eingabetext" value="äää üüü ööö ßß  aiaia">
<input type="text" name="vokal" id="vokal" value="k">
</form>

<script type="text/ecmascript">
function ersetzen(){
    var eingabetext = document.getElementById('eingabetext').value;
    var auswahl = document.getElementById('vokal').value;
    var ausgabe = eingabetext.replace(/[aeiouäöü]/ig,auswahl);
    document.getElementById('ausgabe').innerHTML=ausgabe;
}
</script>
<br />
<div id="ausgabe"></div>
 
Zuletzt bearbeitet:

Greenhorn79

Nicht mehr ganz neu hier

AW: Javascript: Umlaute ersetzen

Hallo Pascal,

naja es ist so, dass ich folgenden HTML-Code habe:

Code:
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Übung</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="spielautomatentastatur.css"/>
    <script type="text/javascript" src="Chinesen.js"></script>
</head>
<body>
<textarea name="user_eingabe" id ="eingabetext" cols="50" rows="4">
Drei Chinesen mit dem Kontrabass
sa&szlig;en auf der Stra&szlig;e und erz&auml;hlten sich was.
Da kam die Polizei, ei, was ist denn das?
Drei Chinesen mit dem Kontrabass.
</textarea>
<p></p>
<select name="vokal" id="vokal" size="1">
<option>a</option>
<option>e</option>
<option>i</option>
<option>o</option>
<option>u</option>
<option>&auml;</option>
<option>&ouml;</option>
<option>&uuml;</option>
</select>
<button onclick="ersetzen();">Ersetzen</button>
<div id="ausgabe" style="font-size: 12;">
</div>

</body>
</html>
der zugehörige Javscript-Code ist:

Code:
function ersetzen(id)  {
    var eingabetext = document.getElementById('eingabetext').value;
    var auswahl = document.getElementById('vokal').value;
    var zwischenergebnis = eingabetext.replace(/ä/,"ae");
    var ausgabe = zwischenergebnis.replace(/[aeiouöüä]+/ig,auswahl);
    document.getElementById('ausgabe').innerHTML=ausgabe;
    }
Der Text in der Textarea ist zunächst vorgegeben, kann aber vom User geändert werden. Mein Problem ist dass der Buchstabe ä in "erzählten" leider nicht ersetzt wird. Mein gedanklicher Plan war nun in einem zwischenschritt aus ä ein ae, ö ein oe und aus ü ein ue zu machen, die Vokale anschließend mit dem ausgewählten Buchstaben zu ersetzen und dann doppelte Buchstaben zu einem zusammenzufassen. Bei allen anderen Buchstaben klappt das nur die Ersetzung von ä,ö,ü in die Schreibweise ae etc. klappt nicht. Ich hatte auch überlegt, ob es an der Umschreibung im HTML &auml; liegen könnte, aber wenn ich versuche dies zu ersetzen klappt es auch nicht...
Und irgendwie drehe ich mich im Kreis und bräuchte einen neuen Tipp oder Ansatz... :)

Liebe Grüße
Michaela
 

pascal.k

Basinga

AW: Javascript: Umlaute ersetzen

1. Bitte den Doctype angeben: z.B.:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

2.
Das Problem liegt am Schriftsatz. Nimm mal statt
HTML:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
den hier:
HTML:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
.. dann sollte es gehen

Kannst dich ja dementsprechend weiter Informieren. Hab da leider auch nicht so die rießen Erfahrung. Weiß nur, dass iwie in uft-8 die Sonderzeichen teilweise in sowas gewandelt werden (%C4) ... oder so. :uhm: .. Wie gesagt. Am Besten selbst mal nachschaun. :p
 

Greenhorn79

Nicht mehr ganz neu hier

AW: Javascript: Umlaute ersetzen

stimmt, den Doctype hat es nicht kopiert, war aber drin.
Du bist mein persönlicher Held des Tages. :danke: Das war die Lösung. Weiß ich schon, was ich mir noch zu Gemüte führen werde.
Danke.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben