replace Funktion

serializable

Mitglied
Hallo,

ich würde gerne den Text einer Textarea verändern. Hierzu soll ein bestimmtes Wort ersetzt werden. Leider funktioneirt das nicht. Es wird einfach nichts ersetzt.

PHP:
var texte = document.getElementById('anzeigentext').value;  

 try{
     if (texte.indexOf(ergebnis)){
       ergebnis = ergebnis.toLowerCase();
       texte.replace(/ergebnis/gi, kuerzel);
       alert(ergebnis)
......


Probiert habe ich es auch so:

texte.replace(ergebnis, kuerzel);
texte.replace(eval("/"+ergebnis+"/gi"), kuerzel);

Leider wird einfach chts ersetzt .. Was kann ich da machen ?
 
Probiers mal so:
Code:
var texte = document.getElementById('anzeigentext');
try{
     if (texte.value.indexOf(ergebnis)>-1){
       texte.value=texte.value.replace(new RegExp(ergebnis,'gi'), kuerzel);
       alert(ergebnis) 
............
 
kann man nun vielleicht die Suche, ähnlich wie bei einer Datenbank sensibilisieren ?

Dort kann man ja mit '%wort%' suchen. Wenn ich also nach dem Wort "Zimmer" suche, soll eigentlich auch Zweizimmerwohnung geunden werden.

Mit indexOf() habe ich jetzt nicht so gute Erfahrungen gemacht...

Wie kann ich das am Besten umsetzen ?

Vielen Dank
 
Da kannst du statt indexOf() search verwenden, das sucht anhand eines regulären Ausdrucks und gibt im Erfolgsfall wie indexOf() die Position der ersten Fundstelle zurück(also eine Zahl grösser als -1)
 
Ja, danke ...

hab ich auch gerade gesehen. Irgendwie so.

wort = String(Woerter[y]).toLowerCase();

und dann
if (begriff.search(/wort/.+) != -1){ <-- haut noch nicht so hin.
 
Auch da musst du wie bei replace() mit new RegExp() arbeiten, wenn du eine Variable im Ausdruck verwenden willst.

Das toLowerCase() benötigst du dabei garnicht, denn die Flag i im Ausdruck sorgt für das Ignorieren der Schreibweise.

Summa Summarum:
Code:
var texte = document.getElementById('anzeigentext');
if(texte.value.search(new RegExp(ergebnis,'gi'))>-1)
  {
      texte.value=texte.value.replace(new RegExp(ergebnis,'gi'), kuerzel);
       alert(ergebnis);
  }

Wobei du search() eigentlich nur benötigst, wenn du ein Feedback(wie den alert) benötigst, ob etwas gefunden wurde, denn wenn nichts gefunden wurde, wird auch nichts ersetzt.
 
Zurück