Bonsoir,
La regex en question peut-être expliqué ici par exemple :
https://www.regex101.com/r/hD2mL6/1
En gros : une chaine de caractère comprenant entre 6 et 40 caractères
[:alnum:] et rien d'autre.
Pour ajouter les espaces dans les caractères autorisés il faut donc retoucher la partie
[[:alnum:]]
les crochets "extérieurs" indiquent une classe caractère : [abc] veut par exemple dire : caractère a, b ou c.
La regex qui nous occupe utilise à l’intérieur de cette classe de caractère une "méta POSIX" : [:alnum:] (plus d'infos :
http://www.lumadis.be/regex/tuto_pcre.php#classecar )
Il faut donc ajouter le caractère "espace" aux côtés de cette "méta POSIX"
ça donnerait donc :
preg_match('`^[ [:alnum:]]{6,40}$`', $_POST['question'])
Ou pour un peu plus de flexibilité (on ajoute également les tabulations :
preg_match('`^[[:blank:][:alnum:]]{6,40}$`', $_POST['question'])
Pour finir, un bon tutoriel en français :
http://www.lumadis.be/regex/tuto_pcre.php
Bon courage !