Autor Zpráva
Davis
Profil *
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
Davis: a chceš ten text rozdeliť alebo len získať tie film_id?
Davis
Profil *
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
Davis:
preg_match_all('/\[(.+)\]/U', $text, $matches);//matches[0] - [film_id], matches[1] - film_id
foreach($matches[1] as $val){
  //spracovanie
}
Davis
Profil *
tiso:
nefunguje to, když chcu vypsat matches[0] nebo matches[1] tak to napiše jen Array
mattyZEM
Profil
Davis:
Vypisuješ to v foreach()-u?
AM_
Profil
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 *
AM:
ja vim že je to pole, šak tak pole se snažim vypsat
Davis
Profil *
mattyZEM:
jj už to funguje, jsem blbě použil tu funkci
Davis
Profil *
diky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0