Autor | Zpráva | ||
---|---|---|---|
P Profil * |
#1 · Zasláno: 7. 7. 2008, 18:41:14
Mám následující skript:
<? $sabka = ' [bla] test <BR><BR> [ble] dddd <BR><BR> [/ble] <BR><BR>sdsd [/bla] '; $cykl = "bla"; preg_match('|\['.$cykl.'\](.*)\[\/?[A-Z, a-z, 0-9]*\]|is', $sabka, $matches); echo $matches[0]; ?> Výstup vypíše [bla] test [ble] dddd [/ble] sdsd [/bla] ale správně by měl vypsat [bla] test [ble] CO tam mám špatně? Díky |
||
nightfish Profil |
#2 · Zasláno: 7. 7. 2008, 20:48:04
přidej si ještě modifikátor U (ungreedy)
a bude to dělat to, co chceš |
||
P Profil * |
#3 · Zasláno: 8. 7. 2008, 23:34:06
Ok, díky!
Ještě jeden problém, tohle mám v preg_match: ([=?<?>?(!=)?]) a správně by to mělo vyhovovat kterémukoliv ze znaků = < > !=, může tam být vždy jen jeden z těch znaků a to jen jednou, ale zároveň by to mělo vyhovovat i když tam nebude vůbec nic (takže bude vyhovovat kkkkk > oooo, také bude vyhovovat kkkk ooooo, ale už nebude vyhovovat kkkkk >> oooo) |
||
P Profil * |
#4 · Zasláno: 9. 7. 2008, 08:38:15
Tak už sem to vyřešil problém byl v použití || k uzavření výrazu s // to funguje, jaký je v to rozdíl?
|
||
Časová prodleva: 16 let
|
0