Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyrażenia regularne
styryl
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

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


Muszę zrobić walidacje, warunków w sql i mam mały problem, mianowicie dostaję stringa np. "2 AND 2 AND 1 OR 2" gdzie pod liczby podstawiane są warunki. Aby było łatwiej usuwam przed sprawdzeniem wszystkie spacje co daje mi to:

  1. 2AND2AND1OR2


Sprawdzam takim wyrażeniem które działa:

  1. $check = '/^[0-9]{1}(((AND|OR)[0-9]{1})+)?$/i';


Mogą być używane tylko AND i OR. Ale mam problem jak sprawdzić czy poprawny jest np taki string (nawiasy, ułożenie liczb do podstawienia warunków itd):

  1. (1OR2)OR(1AND2OR(1AND2))


Ogólnie wyrażenia nie są mocną stroną w moim warsztacie umiejętności, stąd kierują do was prośbę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ber32
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 22
Dołączył: 6.07.2010

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


Witam
może tak jak dostajesz taki ciąg
Cytat
"2 AND 2 AND 1 OR 2"

  1. $check ="/\bAND|OR \b/i";
  2. $wiers ="(1 OR 2) OR (1 AND 2 OR (1 AND 2))";
  3. if(preg_match_all($check, $wiers, $pisz))
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: 16.10.2025 - 02:15