Autor | Zpráva | ||
---|---|---|---|
Nat Profil * |
#1 · Zasláno: 13. 3. 2006, 22:10:59
Zdravím,
jaké funkce použít na tenhle typ regulárního výrazu: z db načtu údaj v tomto tvaru: $veci = "Zelené kalhoty (Toma)"; a chtěl bych dostat tyhle dvě proměnné: $vec = "Zelené kalhoty"; $majitel = "(Toma)"; jinak ta proměnná má vždycky jinou délku, ale vždycky končí údajem v závorce. Nedělali už jste někdo něco podobného? Dík za nápady Nat |
||
WertriK Profil * |
#2 · Zasláno: 13. 3. 2006, 22:34:28
$fields = ereg("^(.*) \( (.*) \)", $in, $out);
echo $out[0]; echo $out[1]; echo $out[2]; ale pochybuju o funkcnosti |
||
24k Profil * |
#3 · Zasláno: 14. 3. 2006, 14:23:10
$veci = "Zelené kalhoty (Toma)";
preg_match("/(.*)(\(.*\))/", $veci, $DATA); echo $DATA[1]; echo $DATA[2]; |
||
halogan Profil |
#4 · Zasláno: 14. 3. 2006, 16:51:21
24k: spravne, ale trochu bych to upravil:
preg_match("~(.+)\s+(\(.+\))~", $veci, $match); print_r($match); |
||
24k Profil * |
#5 · Zasláno: 14. 3. 2006, 17:06:49
hh :]
|
||
Oswald Profil |
#6 · Zasláno: 14. 3. 2006, 17:23:01
Anebo taky třeba takhle :)
$data = preg_split('/\s+(?=\(.*\)$)/', $veci); |
||
halogan Profil |
#7 · Zasláno: 14. 3. 2006, 23:32:18
Oswald, 24k: Zlehcujete situaci, ale mne jde jen o kvalitni psani regexpu. 24k napsal regexp, ktery se musi zbytecne trimovat a navic kdyz mu poslu "()", tak mi to v pohode rozparsuje. Nechapu, proc se pouziva *, kdyz se ocekava textovy vstup. Kdyz tak na to koukam, tak mi tam pro uplnost chybi ^ a $.
|
||
24k Profil * |
#8 · Zasláno: 15. 3. 2006, 00:36:22
Ja nic nezlehcuju, ja regexpy neumim, praskl jsem to z hlavy. Tvoji pripominku si beru k srdci
|
||
Nat Profil * |
#9 · Zasláno: 15. 3. 2006, 12:31:31
Dík fachá to pěkně :-)
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0