Devo validare una stringa che deve contenere solo questi caratteri: a-z A-Z 0-9 āčėōų . > ( ) -

ho fatto la seguente espressione regolare,
codice:
if ( !ereg("^[a-zA-Z0-9āčėōų\.\(\)-> ]+$", $_POST['descrizione_pdi']) ) {
echo "Errore!" ;
}
solo che se inserisco caratteri come + = ! la stringa viene validata lo stesso mentre dovrebbe darmi errore.

dove sbaglio?