Valideren van een String met UTF-8 characters en leestekens in een reguliere expressie.

De onderstaande regulaire expresse valideert UTF-8 characters, puntkomma, komma, liggend streepje, dubbelepunt, aanhalingsteken (enkel en dubbel), vraagteken, uitroepteken en niet te vergeten de spatie:

preg_match('/^[\pL\;,-:\'"?!\s]++$/uD', $str);

Niet alle leestekens zijn hier in verwerkt, maar hoe ver wil je gaan...

Misschien is het wel beter om dan maar geen invoer te valideren en gewoon alle tekens toe te staan :)

Meer informatie: Leesteken - Wikipedia