Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyciąganie cyfr
Forum PHP.pl > Forum > Przedszkole
adam882
Witam

Mam stringa o takiej wartości: to-jest-2-tekst-32

W jaki sposób za pomocą regułki mogę wyciągnąć z niego cyfrę 32 (chcę, aby regułka sprawdzała, czy na końcu tego stringa jest jakaś cyfra).
Korab
Czy na końcu tego stringa jest LICZBA, czy CYFRA? Jeżeli liczba, to tak (zakładając, że te stringi będą miały schemat XXX-XXX-XXX):
  1. $string = 'to-jest-tekst-32';
  2. $string = explode('-',$string);
  3. $ile = count($string);
  4. if (is_numeric($string[$ile]))
  5. echo 'To jest liczba.';
  6. else
  7. echo 'To nie jest liczba!';
adam882
dzięki, ale czy mógłby mi ktoś pomóc zrobić coś takiego w preg_match? Żeby z tego stringa po przefiltrowaniu zostawała tylko końcowa cyfra?
mortus
[0-9]+$ jeśli liczba jest na końcu łańcucha znaków. A jeśli nie, to: ([0-9]+)[a-z-]*$.

EDIT1: Drugi wzorzec służy do wyciągnięcia liczby zarówno w takim ciągu: "to-jest-2-tekst-32", jak i w takim: "to-jest-2-tekst-32-costam".

EDIT2: Jeśli regułka ma sprawdzać tylko to, czy na końcu łańcucha znaków jest cyfra, to użyj takiej: [0-9]$ i powinno starczyć.
darko
  1. $test = 'to-jest-tekst-32';
  2. preg_match_all('/[0-9]/', $test, $hits);
  3. var_dump($hits);

lub:

  1. $test = 'to-jest-tekst-32';
  2. $i = 0;
  3. $return = '';
  4. while($i <= strlen($test) - 1)
  5. {
  6. $temp = $test[$i];
  7. if(is_numeric($temp))
  8. $return .= $temp;
  9.  
  10. $i++;
  11. }
  12. var_dump($return);
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.