Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dziwny problem z preg_match
Forum PHP.pl > Forum > Przedszkole
Zyga24
Z linku:
  1. /szukaj/kowalski/241


Chcę wyciągnąć liczbę po ostatnim slashu, robię to tak:
  1. $wzor2 = '/\/szukaj\/(.+?)\/(.+?)/';
  2. preg_match_all($wzor2, $uri, $page);
  3. $page=$page[2][0];



$page powinna mi wyciągnąć liczbę 241, a z jakiegoś powodu coś obcina ostanie cyfry (niezależnie ile ich jest) i zotawia tylko pierwszą, w tym przypadku 2.

Co zrobiłem źle ?


!*!
  1. $wzor2 = '/\/szukaj\/([a-z]+)?\/([0-9]+)?/';
viking
Jej.
  1. $x = '/szukaj/kowalski/241';
  2. print_r(explode('/', $x));
!*!
viking a jak nie będzie wartości to zwróci pustą tablice.
viking
A co zwróci preg_match jak nie dopasuje wzorca? Zakładam trochę inteligencji po tamtej stronie podając jakiś pomysł.
!*!
W ogóle jej nie utworzy. Zakładając że to ma być jakiś prosty routing, pregi mają przewagę nad explode.
bieniowa
Ja bym w takiej sytuacji wzór zapisał po prostu w taki sposób
  1. $wzor = '|[0-9]*|'
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.