Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> preg_match tylko cyfry?
mskiba
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 28.04.2013

Ostrzeżenie: (0%)
-----


Czemu to nie dziala:

  1. $product_code = "Z 11           0001335702";
  2.  
  3. $nr_uzyt = substr($product_code,-10);
  4.  
  5. if(preg_match("|^[0-9]$|D",$nr_uzyt))
  6. {
  7. echo $nr_uzyt.": yes";
  8. }
  9. else{
  10. echo $nr_uzyt.": No";
  11. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Nie działa, bo Twój wzorzec usiłuje dopasować coś takiego:
Kod
początek, dowolna cyfra, koniec

Będzie to pasowało do takich ciągów znaków jak 2, 5, 0, 8, a nie będzie nawet do takich jak 21, 88 itd.

Spróbuj tak:
  1. if(preg_match("|[0-9]+|",$nr_uzyt))


Dodałem plus za wzorcem cyfry, bo chcesz dopasować dłuższy ciąg cyfr niż jednocyfrowy, prawda? Usunąłem też flagę D, bo nigdy o takiej nie słyszałem, a może się mylę?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 09:40