# Groß- und Kleinschreibung bei str_replace



## RageNo1 (8. Februar 2006)

Hallo,
ich möchte mittels str_replace() Wörter ersetzen:


```
$zensiert = array("boeseswort", "boeserwolf");
$zensur = "*UPS*";
$comment = str_replace($zensiert, $zensur, $comment);
```

So weit so gut.
Nun möchte ich aber, das er dabei nicht auf die Groß- und Kleinschreibung
achtet und somit auch Wörter wie Boeseswort, bOeseswort  usw ersetzt.

Hatte erst überlegt mit strtolower() zu arbeiten aber dann werden ja die 
Kommentare immer in kleinschrift ausgegeben. Das ist etwas Blöd.

Gibt es noch einen Befehl der meine Überlegung realisiert?

Mfg Ragey


----------



## Sven Mintel (8. Februar 2006)

Nimm doch [phpf]eregi_replace[/phpf] bzw. [phpf]preg_replace[/phpf]


----------



## RageNo1 (8. Februar 2006)

Oh mist mit dem Suchmuster komm ich nicht 
klar gibt es dazu irgendwo eine Übersicht?


----------



## Sven Mintel (8. Februar 2006)

Es gibt dazu sogar ein Tutorial 
http://www.tutorials.de/forum/php-t...ere-ausdruecke-regular-expressions-regex.html


----------



## daddz (8. Februar 2006)

Statt [phpf]str_replace[/phpf] kannst du doch einfach [phpf]str_ireplace[/phpf] nehmen.

greetz
daddz


----------



## RageNo1 (8. Februar 2006)

Klasse danke, nur gibt er mir diese Fehlermeldung zurück:

```
Fatal error: Call to undefined function: str_ireplace()
```

Hier der Code:

```
$zensiert = array("hurensohn", "fick");
$zensur = "*UPS*";
$comment = str_ireplace($zensiert, $zensur, $comment);
```


----------



## Sven Mintel (8. Februar 2006)

str_ireplace() gibts erst ab PHP5


----------



## Mairhofer (9. Februar 2006)

Musste auch erstmal wieder suchen, bis es funktioniert (ja ich habe defizite in sachen preg_*  )


```
<?
function wortfilter(&$text, &$aBadWords)
{
    return preg_replace("#(".implode("|",$aBadWords).")#ise", "str_repeat('*',strlen('\\1'))" ,$text);
}
$comment = "Hallo das ist ein Text, der BÖSE ist";
$filter=array('bÖse','wort2');
echo wortfilter($comment, $filter);

?>
```

Also beim testen gings hier.
Das ist aber nicht das gleiche was du willst. Der ersetzt nun das böse Wort durch die Anzahl der länge des Wortes als Sternchen.
Gruss


----------

