adam882
27.12.2011, 16:58:41
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
27.12.2011, 17:04:07
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):
$string = 'to-jest-tekst-32';
else
echo 'To nie jest liczba!';
adam882
27.12.2011, 17:11:20
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
27.12.2011, 17:20:28
[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
27.12.2011, 17:25:55
$test = 'to-jest-tekst-32';
lub:
$test = 'to-jest-tekst-32';
$i = 0;
$return = '';
while($i <= strlen($test) - 1
) {
$temp = $test[$i];
$return .= $temp;
$i++;
}