Jump to content
php.lv forumi

reg expression


tomaac

Recommended Posts

Ir selecta daļa ar where izteiksmi.

Vienkāršākā gadījumā - where izteiksme sastāv tikai no and un or un nav iekavu.

Sarežģītākā gadījuma - where izteiksme ir arī iekavas (bet joprojām ir tikai and un or).

 

Nepieciešama tāda regulāra izteiksme, kas sadalīs šo izteiksmi pa atsevišķiem nosacījumiem, tai skaitā, nepazaudējot - vai tas bija or vai and nosacījums.

Piemēram, ja ir where x=19 and x1=x2 or a=b

Tad vajag atdgriezt

x=19

and

x1=x2

or

a=b

vai kaut ko tādu, lai var saprast - kāda izteiksme ar ko tiek atdalīta...

Sarežģītākā gadījumā vajag rēķināties, ka var būt arī iekavas.

 

 

Otrkāt, līdzīgi:

ir select daļa, piemēarm, select a as text, b as text2, c, d

ar regulāro izteiksmi jāsadala tā, lai varētu saprast, kur ir kolonnas nosaukums un kur ir tās alias, piem., kaut kādā masīvā, lai rezultāts ir:

a text

b text2

c

d

 

 

No PHP zinu ļoti maz, varbūt kāds var palīdzēt?

 

Paldies.

Link to comment
Share on other sites

Otrais ir vienkāršs: explode(',', $text);

 

Par pirmo - es droš vien rakstītu rekursīvu funkiju vai pat vairākas, kura darītu sekojošas lietas:

1) explode('and', $text);

2) explode('or', $text);

3) trim($text, '()');

Kautkādā veidā (kā nu tev tur tas ir vajadzīgs) sakombinētu rezultātu masīvos un atgrieztu.

Link to comment
Share on other sites

×
×
  • Create New...