Eine andere Methode wäre, für jedes Zeichen, dass nicht vorkommen darf, ein str_replace zu machen, je nachdem wie viele Zeichen nicht erlaubt sind, wäre das einfacher. Es gibt, glaube ich, auch noch eine Funktion, mit der genau das passiert, was du beschrieben hast, aber der Name fällt mir grad...