Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenia regularne, odnajdywanie miejsca
Forum PHP.pl > Forum > Przedszkole
Capellini
Mam np. takie wyrażenie:
Kod
banany sa dobre, .*, uwielbiam jesc (?P<co>.*)


... to jak napiszę taki kod:
  1. <?php
  2. $wzorzec = "banany sa dobre, .*, uwielbiam jesc (?P<co>.*)";
  3. $zdanie = "banany sa dobre, jabłka w sumie też, uwielbiam jesc gruszki";
  4.  
  5. preg_match($wzorzec, $zdanie, $tab);
  6. ?>


to wtedy $tab['co'] = "gruszki"

Chciałbym jakoś dowiedzieć się nie tylko, co tam jest wpisane w tym miejscu (czyli że 'gruszki' na przykład tam są), ale także, w jakim miejscu ten tekst, który jest w $tab['co'] się zaczyna. Wiem, że mógłbym to zrobić w taki sposób:
  1. <?php
  2. $miejsce = strpos($zdanie, $tab['co']);
  3. ?>

ale niestety nie mogę tak zrobić, bo jak wtedy $zdanie = "banany sa dobre, jabłka w sumie też, uwielbiam jesc banany", to strpos() zwróci 1 (albo 0), a ma zwrócić miejsce, w którym zaczyna się to drugie słowo banany.
erix
Ustaw parametr flag na PREG_OFFSET_CAPTURE.

Potem znajdziesz sobie w tablicy, co chcesz. winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.