Muszę napisać wyrażenia regularne (lub funkcję), które sprawdzi czy dany ciąg znaków występuje w przeszukiwanym dużym tekście jako pełny wyraz.
Czyli jeśli szukamy ciagu "przy" to interesuje nas słowo "przy", a nie słowo "przypadek".
Myślę, że najprościej będzie zdefiniować z czym może sąsiadować taki ciąg, aby był uznany za pełny wyraz.
Do głowy mi przychodzi, że sąsiadować może z:
- początkiem stringu
- końcem stringu
- spacjami oczywiście, w tym innymi znakami tego rodzaju, np. \t, \n, twarda spacja itp
- przecinkiem
- kropką
- średnikiem
- dwukorpkiem
- apostrofami, cudzysłowiami
- nawiasami wszelkiego typu
- wszelkimi znaczakmi, kóre na klawiaturze wpisuje się przez SHITF-cyfra
- pozostałymi znaczkami typu + - = \ / ? ~
- cyframi (opcjonalnie)
Ta lista jest oczywiście umowna i do ustalenia, probelm mam z tym jak to w ogóle napisać? Pewnie funkcja mb_eregi() będzie tu sendem sprawy.
Trudności mam dwie:
1) nie "czuję" wyrażeń regularnych kompletnie

2) teksty, które mam obsłużyć są w UTF-8, i są w nich egzotyczne języki, tak więc odpada zdefiniowanie z czym szukany ciąg nie może sąsiadować. Trzeba określić z czym może - i to określić to w UTF-8.
Plik .php jest jako taki także kodowany w UFT-8.
Wielkie dzięki!
latet