Jonny 5: php string auf wenigstens 3 Buchstaben prüfen

Beitrag lesen

Um die Anzahl von Übereinstimmungen zu ermitteln böte sich preg_match_all an:

Rückgabewerte: Gibt die Anzahl der Übereinstimmungen mit dem kompletten Suchmuster zurück (die auch Null sein kann). Bei einem Fehler wird false zurückgegeben...

z.B. mit \pL für UTF-8 oder eben [A-Za-z] für ASCII letters wie von Rolf beschrieben.

if(preg_match_all('~\pL~u', $str) >= 3)
{
  // tu was
}

Siehe Beispiel bei Tio.run (Try it Online).

Bezüglich \pL für die Unicode Kategorie hier noch der Hinweis, dass dies eine PCRE-spezifische (ev. auch ECMAScript>=2018) Kurzschreibweise für \p{L} ist, welche ebenso in anderen Regex flavors, wie z.B. #C/.NET oder JAVA zur Verfügung steht. Letzteres ist jedenfalls mehr kompatibel.

PS: Bei UTF-8 empfiehlt es sich, das u (PCRE_UTF8) flag für die preg* Funktionen zu verwenden.