Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Preg_match() ciąg cyfr
Forum PHP.pl > Forum > Przedszkole
-Marcin-
Witam smile.gif pisałem wyrażenie regularne, aby na stronie znalazł ciąg samych cyfr i je wyświetlił, ale nie wyświetla, ciąg cyfr jest a pokazuje że niema. Wyrażenie regularne dla cyfr jest proste: [0-9]
nowotny
Cytat(-Marcin- @ 6.03.2008, 16:50:35 ) *
Witam smile.gif pisałem wyrażenie regularne, aby na stronie znalazł ciąg samych cyfr i je wyświetlił, ale nie wyświetla, ciąg cyfr jest a pokazuje że niema. Wyrażenie regularne dla cyfr jest proste: [0-9]

Nie... to jest wyrażenie dla jednej cyfry... pokaż kod cożeś tam namodził bo nikt tu wróżką nie jest i w ciemno ci nie powie co jest źle...
-Marcin-
Oto kod:
  1. <?php
  2. $adres="adres strony";
  3. $ch = curl_init(urldecode($adres));
  4. curl_setopt($ch, CURLOPT_HEADER, 0);
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  6. $pobrane_zrodlo = curl_exec($ch);
  7. curl_close($ch);
  8. if(preg_match_all("[0-9]", $pobrane_zrodlo, $email)){
  9. print_r ($email[1]);} else {print " niema";}
  10.  
  11. ?>
nowotny
Po pierwsze, pattern źle skonstruowany (brak delimiterów) to nic dziwnego że nie działa... Po drugie, jak już napisałem to jest pattern na jedną cyfrę... Tak powinno być:
  1. <?php
  2. preg_match_all("#[0-9]+#", $pobrane_zrodlo, $email)
  3. ?>

Po trzecie, $email[1] nic ci nie zwróci bo nie zdefiniowałeś żadnych nawiasów... daj tam sobie lepiej print_r($email) i obejrzyj sobie jak wygląda tablica...
-Marcin-
Dzięki za pomoc, a można jakoś zrobić tak żeby mi wyświetlał ciąg minimum 10 znaków?
nowotny
Cytat(-Marcin- @ 6.03.2008, 17:13:11 ) *
a można jakoś zrobić tak żeby mi wyświetlał ciąg minimum 10 znaków?

A poczytałbyś sobie o wyrażeniach regularnych... :/

Zamień sobie tego plusa na {10,}...
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.