| Autor | Zpráva | ||
|---|---|---|---|
| Davis Profil * |
#1 · Zasláno: 20. 3. 2010, 15:31:52
Dobry den, mám problém s regulárním výrazem
mam v promene tento text $text = "[film_id1]: To to je dalši text"; a ja potřebuju získat text ze závorek [] tedy toto "film_id1". A to tam může byt několikrát ta závorka jako třeba $text = "[film_id1]: To to je dalši text [film_id2]: Dalši text"; Skoušel jsem to přes všehno možné, moc nechápu ty regulárni výrazi. Skoušel jsem to takto: $text = SplitI("^\[.+\]$" ,$text);ale nešlo to.. Prosim o radu |
||
| tiso Profil |
#2 · Zasláno: 20. 3. 2010, 15:51:18
Davis: a chceš ten text rozdeliť alebo len získať tie film_id?
|
||
| Davis Profil * |
#3 · Zasláno: 20. 3. 2010, 15:57:38
tiso:
stačilo by získat, a potom výslednou hodnotu bych nahralid místo toho původního tzv. získam film_id1 což je id filmu v mysql, a potom ten název filmu nahradim za [film_id1] |
||
| tiso Profil |
#4 · Zasláno: 20. 3. 2010, 16:08:09 · Upravil/a: tiso
Davis:
preg_match_all('/\[(.+)\]/U', $text, $matches);//matches[0] - [film_id], matches[1] - film_id
foreach($matches[1] as $val){
//spracovanie
} |
||
| Davis Profil * |
#5 · Zasláno: 20. 3. 2010, 16:34:16
tiso:
nefunguje to, když chcu vypsat matches[0] nebo matches[1] tak to napiše jen Array |
||
| mattyZEM Profil |
#6 · Zasláno: 20. 3. 2010, 17:33:28
Davis:
Vypisuješ to v foreach()-u? |
||
| AM_ Profil |
#7 · Zasláno: 20. 3. 2010, 18:43:08
Davis:
„nefunguje to, když chcu vypsat matches[0] nebo matches[1] tak to napiše jen Array“ prostuduj si dokumentaci preg_match_all a třeba zjistíš, proč. Nebo jen zapoj selský rozum a uvědom si, že když to vypisuje array, asi to je pole. |
||
| Davis Profil * |
#8 · Zasláno: 20. 3. 2010, 19:40:11
AM:
ja vim že je to pole, šak tak pole se snažim vypsat |
||
| Davis Profil * |
#9 · Zasláno: 20. 3. 2010, 20:03:55
mattyZEM:
jj už to funguje, jsem blbě použil tu funkci |
||
| Davis Profil * |
#10 · Zasláno: 20. 3. 2010, 20:04:07
diky
|
||
|
Časová prodleva: 16 let
|
|||
0