Autor | Zpráva | ||
---|---|---|---|
jonge Profil |
#1 · Zasláno: 15. 12. 2006, 14:40:18 · Upravil/a: jonge
Mám určitý text a chci, aby se v něm změnilo:
{datum "d.m.Y"} na např. 15.12.2006 Mám tento regexp: $text = preg_replace("/\{datum \"(.*)\"\}/", date("$1"), $text); Bohužel se datum nahradí špatně, vznikne "d.m.Y". Když jsem místo toho zkoušel dát $text = preg_replace("/\{datum \"(.*)\"\}/", date("d.m.Y"), $text); tak se datum změnilo správně. Přitom $1 je stejné jako "d.m.Y". Opravdu to nechápu... Jak se dávají do preg_replace správně funkce? |
||
DoubleThink Profil * |
#2 · Zasláno: 15. 12. 2006, 15:14:58
Možná bych zkusil použít eval()
|
||
jonge Profil |
#3 · Zasláno: 15. 12. 2006, 16:00:40
DoubleThink
To mi kdosi říkal, jenomže já nevím jak :( mohl bys mi plosím pěkně napsat ten kód? Doufám že tě jeden řádek nezabije 8-) |
||
DoubleThink Profil * |
#4 · Zasláno: 15. 12. 2006, 17:03:34
Beru zpět - eval je tady na nic.
Musíš použít "e" modifikátor: $text = preg_replace("/\{datum \"(.*)\"\}/e", "date('\\1')", $text); |
||
jonge Profil |
#5 · Zasláno: 15. 12. 2006, 18:50:38
DoubleThink
Ooooh díky díky, ruku líbám zachránče :o) |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0