Questo OTTIMO ARTICOLO di PHPro.org spiega alla perfezione come comporre la propria espressione regolare e ti consiglio di studiarlo, anche se in inglese è davvero molto valido!
Detto questo, per controllare la lunghezza di una stringa testuale, ti basta fare come segue:
Codice PHP:
$nomeRegExp = "#^[\\w]{3, }$#i";
Stesso discorso per i testi, ma invertendo i parametri sul quantificatore.
Codice PHP:
$textRegExp = "#^[\\w]{ , 400}$#i";
Come vedi, io ho usato il cancelletto come delimitatore della regexp, ma te puoi usare quello che credi.
Ho usato il caret (^) come carattere di inizio del soggetto, e ($) come carattere per indicare la fine del soggetto. Per il testo è maggiormente utile, in quanto il testo potrebbe essere multilinea.
Ho usato il modificatore i per rendere la regexp case-insensitive.
Le parentesi quadre contengono una classe di definizione dei caratteri.
La sequenza speciale \w indica "qualsiasi carattere alfanumerico".
Potresti avere problemi con alcuni caratteri non previsti da questo caso (tipo i segni di punteggiatura nel caso del testo).
In quel caso dovresti aggiungerli fuori dalla classe di caratteri.