Tach!
Ich gebe echt zu, aus diesem Ausdruck:
if ( preg_match('~^.*[0-9]{5,10}.*$~', $text) )
werde ich gar nicht schlau,
Er findet zu viel. Da . angegeben ist, können auch weitere Ziffern vorangehen oder folgen.
^ Start des Ausdrucks (in dem Fall; wenn Multiline-Modifizierer verwendet wurde: Anfang einer Zeile)
. beliebiges Zeichen (aber auch Ziffern)
* beliebig viel vom vorhergehenden Ausdruck
[0-9]{5,10} 5 bis 10 ASCII-Ziffern
.* s.o.
$ Ende des Ausdrucks (Multiline: Ende der Zeile)
dedlfix.