bruno1: preg_replace Suchmuster

Beitrag lesen

Hi,

ich bin grad am verzweifeln mit diesem Suchmuster...
$test_alt ist ein String vom User der überprüft werden soll.
Alles was nicht eines dieser Zeichen ist soll ersetzt werden:

A-Za-z0-9
äöüÄÖÜß
+-*/=.,:;?!
()[]{}&"@_'

$test_alt='0123456789qwertzuiopüasdfghjklöäyxcvbnmQWERTZUIOPÜASDFGHJKLÖÄYXCVBNMß+-*/=.,;:?!()[]{}&"@\'§$%\\_<>|^°`´¢';  
$test_neu=preg_replace("/^[A-Za-z0-9\ä\ö\ü\Ä\Ö\Ü\ß\+\-\*\/\=\.\,\:\;\?\!\(\)\[\]\{\}\&\"\@\_\']+$\s/", "?", $test_alt);  
echo $test_neu;

Aber warum funktioniert das nicht?

Und noch wichtiger, warum funktioniert es nicht einmal so:

$test_alt='0123456789qwertzuiopüasdfghjklöäyxcvbnmQWERTZUIOPÜASDFGHJKLÖÄYXCVBNMß+-*/=.,;:?!()[]{}&"@\'§$%\\_<>|^°`´¢';  
$test_neu=preg_replace("/^[A-Za-z0-9]+$\s/", "?", $test_alt);  
echo $test_neu;

Der neue String ist immer gleich dem alten...
Und dabei ist es egal ob ich \s verwende oder nicht, auch ob ich +$ oder *$ verwende ist bei mir egal...

Kann mir bitte jemand helfen ein Suchmuster zu erstellen, welches oben genannte Zeichen zulässt, und den Rest durch ? oder * ersetzt?
Ebenfalls dankbar wäre ich, wenn mir jemand einen Link zu einer Aleitung gibt, wo man das nachlesen kann.

Die PHP-Version ist 5.3.5 in xampp.

bruno1

P.S. Falls ich noch irgendein wichtiges Zeichen für einen Text vergessen habe, das bitte ergänzen.