Witam,
Dziekuje za zaangażowanie, dopiero dzi¶ byłem w stanie odczytać post. Rzeczywi¶cie można to było zrozumieć dwuznacznie.
Chodziło mi o jeden lub dwa wyrazy. Jeżeli istniałyby dwa, to powinne być oddzialone pojedyncz± spacj±. Każdy wyraz (bez względu, czy wyst±pi jako jeden czy jako dwa) powinien posiadać minimaln± długo¶ć trzech znaków.

Zdaje się, że rozwi±zanie padło zatem.

Skoro tak go rozłożyli¶my na czę¶ci pierwsze dopiszę problematykę.
Projektowałem wzorzec do nazwy obiektu turystycznego. Rzadko zdarzaj± się trój wyrazowe nazwy, zostałem zatem przy dwóch. Obiekt turystyczny może przyjmować zatem jeden lub dwa wyrazy.
Np.
- Perła Południa
- Hańcza
Minimum wymagam ze względów estetycznych oraz z uwagi, że nazwa jest również przekształcana w subdomenę przez inny wzorzec.

Ostateczna odpowiedĽ to zatem:
preg_match('/^([0-9a-zA-Z±ćęłńó¶Ľż]{3,}+)( [0-9a-zA-Z±ćęłńó¶Ľż]{1,}+)?$/', $str, $matches);