# Methode replace() bei mehreren Zeichen



## Qantee (1. November 2009)

Moin moin,

derzeit lerne ich etwas JavaScript, verstehe aber leider nicht,
wie ich mehrere Zeichen ersetzen kann.

in php ganz einfach:

```
$suche = array("ä", "ü");
$ersetze = array("&auml;", "&uuml;")

str_replace($suche, $ersetze, $string);
```


Wie geht das aber in JavaScript?
Ich hab ein paar andere Foren durchwühlt, und das soll wohl mit /g (Global) gehen,
nur habe ich es nicht verstanden.

Bitte, sagts mir 

Ich habs probiert mit "pfuschen" aber dies:


```
linktitle.replace("Ã¤", "&auml;").replace("Ã", "&szlig;").replace("ß¼", "&uuml;").replace("ß", "&ouml;")
```

bringt nur das Ersetzen mit a, alles andere geht nicht.


----------



## Sven Mintel (1. November 2009)

Moin,

solch eine Funktionalität gibt es in JS leider nicht....man muss also pfuschen=> sie selber bauen.

Das könnte bspw. so aussehen:

```
String.prototype.str_replace=function(s,r)
{
  var t=this;
  var s=(typeof s=='string')?[s]:s;
  var r=(typeof r=='string')?[r]:r;
  for(var i=0;i<s.length;++i)
  {
    t=t.replace(new RegExp(s[i]),
                (typeof r[i]!='undefined')
                  ?r[i]
                  :''
               );
  }
  return t;
}
```

Test:

```
alert(
      new String('Käseknödelsüppchengenießer')
        .str_replace(
                     ['ä','ö','ü','ß'],
                     ['&auml;','&ouml;','&uuml;','&szlig;']
                    )
     );
```


----------

