Moin!
Habe das strlower() mal entfernt. Nun ist die schwarze Box weg.
Allerdings macht folgende Funktion str_replace() GARNICHTS.
Simpel: Deine Umlaute werden nicht gefunden, weil du sie in $search nicht als UTF-8 codiert hast.
Wenn dein Editor kein UTF-8 beherrscht, hast du es natürlich schwer, dir aus den Unicode-Tabellen und den (eigentlich recht einfachen) Umsetzungsregeln für UTF-8 die passenden Zeichen selbst raussuchen zu müssen.
strtolower() funktioniert aus demselben Grunde nicht: Die Funktion erkennt die UTF-8-Zeichen nicht, sondern zerstört diese.
Du solltest dich deshalb mal über die "Multibyte String Functions" informieren: http://de3.php.net/mbstring Nur mit denen hast du überhaupt eine Chance, UTF-8 in PHP zerstörungsfrei zu bearbeiten (das reine durchreichen von Strings, deren Inhalt aber nicht verändert wird, geht mit PHP auch so sehr gut).
PHP:
$search = array("ä", "Ä", "ü", "Ü", "ö", "Ö", "ß");
- Sven Rautenberg