Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wyrazenia regularne - preg_match
Forum PHP.pl > Forum > Przedszkole
jerzes
Witam. Jak za pomoca funkcji preg_match lub ereg sprawdzic czy dana zmienna posiada np. tylko 2 wystapienia cyfry?
Zrobilem cos takiego ale pewnie popelnilem glupi blad gdzies:

  1. <?php
  2. $zmienna = "5fadga6dd";
  3. if(preg_match("/[0-9]{2}/",$zmienna))
  4. {
  5. print("prawda");
  6. }else{
  7. print("falsz");
  8. }
  9. ?>


Dzieki z gory za pomoc.
UDAT
W tym kodzie szukasz dwóch cyfr obok siebie.

  1. <?php
  2. $zmienna = "5fadga6dd";
  3.  
  4. $count = 0;
  5. $len = strlen($zmienna);
  6.  
  7. for ( $i=0; $i<$len; ++$i ) {
  8. if ( strval(intval($zmienna[$i])) == $zmienna[$i] ) {
  9. ++$count;
  10. }
  11. }
  12.  
  13. if ( $count == 2 ) {
  14. print("prawda");
  15. }else{
  16. print("falsz");
  17. }
  18. ?>
nexis
  1. <?php
  2. $zmienna = "5fadga6dd";
  3. preg_match_all( "/[0-9]/", $zmienna, $wyniki );
  4. $ilosc = count( $wynik[0] );
  5.  
  6. if ( $ilosc == 2 ) echo "Dwa wystąpienia!";
  7. else echo "Mniej lub więcej niż dwa wystąpienia!";
  8. ?>
UDAT
Albo
  1. <?php
  2. $matches = array();
  3. var_dump ( preg_match_all(/[0-9]/, $zmienna, $matches ) == 2 );
  4. unset($matches);
  5. ?>
jerzes
Dzieki wszystkim za odp. smile.gif
Myslalem ze mozna to zrobic "na skroty".
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.