Daggi: Probleme bei preg_replace in einer function

Beitrag lesen

Natürlich ist return keine Variable, das war mein Fehler, jetzt ist der CODE korrekt, doch er funktioniert trotzdem nicht. Ich möchte nicht URLENCODE benutzen, da ich keine + sondern _ möchte.
Und ich versteh nich das preg_replace ausserhalb einer function funktioniert und inerhalb eben nicht?

function TEXT($string)
{
$patterns[0] = '/ä/';
$patterns[1] = '/Ä/';
$patterns[2] = '/ö/';
$patterns[3] = '/Ö/';
$patterns[4] = '/ü/';
$patterns[5] = '/Ü/';
$patterns[6] = '/ß/';
$patterns[7] = '/[^a-zA-Z0-9_]/u';
$replacements[0] = "ae";
$replacements[1] = "ae";
$replacements[2] = "oe";
$replacements[3] = "oe";
$replacements[4] = "ue";
$replacements[5] = "ue";
$replacements[6] = "ss";
$replacements[7] = "_";

retrun strtolower(preg_replace($patterns, $replacements, $string))
}