ďťż
Podstrony
|
telcocafeOto kodzik używany przez mnie<? $hlpI = 0; function saveV($txt) { global $tmpE; global $hlpI; $aPos = $i+1 ; $tmpE[$aPos] = $txt[1]; return "nawias('$aPos')"; } function getV($txt) { global $tmpE; global $hlpI; $aPos = $txt[1] ; return "nawias('$tmpE[$aPos]')"; } function main($txt) { $txt = preg_replace("#nawias\('(.*?)'\)#si", "saveV", $txt); $txt = (string)$txt; $txt = str_replace('cos', 'inne', $txt); $txt = preg_replace("#nawias\('(.*?)'\)#si", "getV", $txt); return $txt; } ?> Chodzi o to, że odpalam funkcję main() która zamienia cos na inne. Tylko, że nie chcę zamieniać ciągu jeśli coś będzie w innym ciągu ("nawias('cos')"). Postanowiłem zrobić to tak jak przedstawiłem powyżej (tablica globalna, a ciąg zamieniam na taki, który zawiera pozycje ciągu w tablicy. I na oko pięknie. Tylko, że w tym miejscu: $txt = preg_replace("#nawias\('(.*?)'\)#si", "saveV", $txt); zamiast wywołać funkcję saveV, zamienia ciąg na "saveV". Czy można coś z tym zrobić, lub mój problem rozwiązać w inny sposób? Aha używam tablicy, bo cos to są różne wartości. Użytkownik DJ_ProG edytował ten post 13 czerwiec 2006, 17:09 Nic dziwnego ze zamienia na saveV ;) zmien $txt = preg_replace("#nawias\('(.*?)'\)#si", "saveV", $txt); na $txt = preg_replace_callback("#nawias\('(.*?)'\)#si", "saveV", $txt); |
|||
Sitedesign by AltusUmbrae. |