Autor | Zpráva | ||
---|---|---|---|
pfinder Profil * |
#1 · Zasláno: 31. 10. 2007, 13:13:52
$temp_code = preg_replace("/{$([a-zA-Z0-9_-.]+)}/", "<em>\1</em>", $temp_code); rád bych v řetězci nahradil {$text} za /em/text/em/ bohužel mi to nejde a problém dělá ten backslashovaný dolar, když ho ale nebackslashnu, tak mi hodí samozřejmě PHP chybu. |
||
Joker Profil |
#2 · Zasláno: 31. 10. 2007, 13:23:04 · Upravil/a: Joker
Escapovaný dolar by měl fungovat podle očekávání.
Jsou escapované i složené závorky? (edit: složené závorky samozřejme :-) ) |
||
info Profil |
#3 · Zasláno: 31. 10. 2007, 13:27:56 · Upravil/a: info
Bohužel i když jsou escapovány složené závorky, tak to nefunguje
|
||
tiso Profil |
#4 · Zasláno: 31. 10. 2007, 13:42:42
A čo chceš aby sa nahradilo? Reťazec "$text" za obsah premennej $text?
|
||
info Profil |
#5 · Zasláno: 31. 10. 2007, 13:52:21
v současné době ne, rád bych {$text} nahradil za $this->getValue("text");
při nejhorším upustím od dolaru a nahradím ho za něco jiného:) |
||
Joker Profil |
#6 · Zasláno: 31. 10. 2007, 14:01:47
pfinder
Není náhodou třeba ten dolar escapovat dvakrát? Jednou kvůli PHP a jednou kvůli regulárnímu výrazu? Nebo co zkusit: '/\{\$([a-zA-Z0-9_-.]+)\}/' |
||
info Profil |
#7 · Zasláno: 31. 10. 2007, 14:10:12
Ano máte pravdu, stacílo escapovat dvakrát. Děkuji
|
||
Časová prodleva: 18 let
|
0