Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenie regularne i problem ze zwracaniem wyniku
Forum PHP.pl > Forum > Przedszkole
mefistofeles
Próbuje za pomocą wyrażenia wyciągnąć ostatnia liczbę z tego ciągu:

  1. "><b></a>&nbsp<a href="/search.php?page=3&find=polska"><b>3<b></a>&nbsp<a href="/search.php?page=4&find=polska"><b>4<b></a>&nbsp<a href="/search.php?page=5&find=polska"><b>5<b></a>&nbsp<a href="/search.php?page=6&find=polska"><b>6<b></a>&nbsp<a href="/search.php?page=7&find=polska"><b>7<b></a>&nbsp<a href="/search.php?page=8&find=polska"><b>8<b></a>&nbsp<a href="/search.php?page=9&find=polska"><b>9<b></a>&nbsp<a href="/search.php?page=10&find=polska"><b>10<b></a>&nbsp<a href="/search.php?page=11&find=polska"><b>11<b></a>&nbsp<a href="/search.php?page=12&find=polska"><b>12<b></a>&nbsp<a href="/search.php?page=13&find=polska"><b>13<b></a>&nbsp<a href="/search.php?page=14&find=polska"><b>14<b></a>&nbsp<a href="/search.php?page=15&find=polska"><b>15<b></a>&nbsp<a href="/search.php?page=16&find=polska"><b>16<b></a>&nbsp<a href="/search.php?page=17&find=polska"><b>17<b></a>&nbsp<a href="/search.php?page=18&find=polska"><b>18<b></a>&nbsp<a href="/search.php?page=19&find=polska"><b>19<b></a>&nbsp<td align=right width=1% nowrap>


Napisałem taki kodzik:

  1. $pagecntreg = '/"><b>(.+?)<b><\/a>&nbsp<td align=right/i';
  2. preg_match_all($pagecntreg, $nazwa, $pagecnt);
  3. //$pagecnt = $pagecnt[0][1];
  4. print_r($pagecnt);


Niestety to wyrażenie zamiast zwrocic tylko ostatnia czesc tego ciagu pasujaca do wzorca
("><b>19<b></a>&nbsp<td align=right) a konkretnie liczbę 19
zwraca całość.

Niby ma to sens bo to jakby też pasuje do tego wzorca, ale na pewno można ustawić jakąś flagę
lub coś w tym stylu żeby zwracało tylko ostatnio wynik pasujący do wzorca czyli tą część z 19.

Mam nadzieje, że wiecie o co mi chodzi ?

Po prostu chcę wyciągnąć tylko tą liczbę ostatnią (19)
croc
Bo wyrażenia regularne są zachłanne, a ty masz błąd w postaci <b>liczba<b>. Zamienisz na <b>liczba</b> i aktualizujesz wzór to będzie ok.
mefistofeles
Ale ja to ciągnę z zewnątrz i nie mam możliwości poprawienia tego <b>, zresztą co to zmienia ?
Skoro są zachłanne to jak zrobić, żeby nie były?
Chodzi mi tylko o wyciągnięcie ostatniej liczby z tamtego kodu.
nospor
Skoro tam maj byc liczby to bierz liczby a nie co popadnie. A potem sie dziwisz...

$pagecntreg = '/"><b>\d+<b><\/a>&nbsp<td align=right/i';
mefistofeles
Rzeczywiście, nie pomyślałem o tym.
Dziękuje za pomoc.
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.