Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
Speed666
Witajcie,
Mam taki problem
  1. <?php
  2. if(!eregi(&#092;"[0-9]\", $cena)) $bledy .= '<TR><TD width=\"20\" CLASS=\"clear\"><IMG SRC=\"imgwarn.gif\"></TD><TD width=\"300\" CLASS=\"clear\">Podana cena jest nieprawidłowa.</TD></TR>';
  3.  
  4. ?>

Pole input text - ta linijka ma nie przepuszczać niczego innego poza czystymi liczbami (żadnego tekstu). Jednak niedziała - tylko wyrzuca ten błąd w momęcie gdy pole jest puste całkowicie. Można wpisać tekst a regułka tego nie wyłapie.
Dlaczego??
tiraeth
Niewyłapuje bo w ciągu ma się znaleźć cyfra/liczba a nie ciąg ma być cyfrą/liczbą biggrin.gif

  1. <?php
  2. if(!eregi(&#092;"^[0-9]{0,}$\", $cena))
  3. {
  4.  $bledy .= 'Podana cena jest nieprawidłowa.';
  5. }
  6. ?>


^ - oznacza, że podane wyrażenie musi wystapić na początku
$ - podane wyrażenie musi wystąpić na końcu
{0,} - wyłapuje ciągi wielkości od 0 do nieskończoności znaków

^[0-9]{0,}$ - całe wyrażenie musi być liczbą z przedziału od 0 do nieskończoności

Teraz napewno zadziała...
Speed666
Dzięki, rzeczywiście - z tymi wyrażeniami regularnymi...
AxZx
witam

po zastanowieniu sie
edytuje poprzedni post:) i mam takie pytanie:

chce znalezc w tekscie {title} na <a name="raporty.$nr"></a><h2>

tylko zeby $nr zwiekszal sie gdy znajdzie nastepny





oej zrobilem to inaczej

w tekscie bede wpisywal
{1}{title} tytul1 {/title}
{2}{title} tytul2 {/title}
itd

i mam takie wyrazenie

preg_replace("/\{([0-9])\}\{title\}(.*)\{\/title\}/", "<a name=\"\\1\"></a><h2>\\2</h2>", $tresc);


a teraz jak walnac do tablicy wartosc \\2 czyli tytul1, tytul2 itd ?

znalazlem cos o przelaczniku /e ale jak to uzyc ?
i czy mozna wtedy zamieiniac te dane i jednoczesnie dopisywac do tablicy ?
tiraeth
  1. <?php
  2. if(preg_match_all('#{title}(.*?){/title}#i', $tresc, $wynik))
  3. {
  4.  print_r($wynik);
  5. }
  6. ?>


Zobacz co to Ci wyświetla smile.gif
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.