Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: str_replace dla "###COS###" nie chce działać
Forum PHP.pl > Forum > PHP
marrrecki
Mój problem polega na tym, że za pomocą funkcji str_replace chcę zamienić np.: ###ID_container### na coś co wypluje mi md5. Wszystko jest zamieniane, dopóki nie znajdzie się w kodzie html, np:
  1. <div id="###ID_container###">
. W takim przypadku funkcja nie chce w ogóle zmieniać zadanych stringów. Ma ktoś pomysł o co tu chodzi?
fander
Witam

Wklej kod php (ciało funkcji) odpowiadający za zamienianie ciągów.

Pozdrawiam
marrrecki
Już po problemie.
Ponieważ to co chcę zmienić i to na co chcę zmienić zadeklarowałem w tablicach, a następnie puściłem pętlę foreach zawierającą pliki w których treść miała być zmieniona musiałem zresetować tablice zanim ponownie była ona puszczona w pętli (czy jakoś tak). Poniżej działający fragment kodu:
  1. foreach ($fileList as $f) {
  2. if(substr($f, -4) == 'html' || substr($f, -3) == 'css'){
  3. if(filesize($f) > 0){
  4.  
  5. $content = file_get_contents($f);
  6. $patterns = array();
  7. $replacements = array();
  8. reset($css_array);
  9. reset($img_array);
  10. while(list($key, $value) = each($css_array)){
  11. $patterns[] = '###'.$key.'###';
  12. $replacements[] = $value;
  13. }
  14. while(list($key, $value) = each($img_array)){
  15. $patterns[] = '###'.$key.'###';
  16. $replacements[] = $value;
  17. }
  18.  
  19. $content = str_replace($patterns, $replacements, $content);
  20.  
  21. $file = fopen($f, 'w');
  22. fwrite($file, $content);
  23. fclose($file);
  24. }
  25. }
  26. $oldDir = str_replace($base_dir.'/', '', $f);
  27. $newDirTmp = pathinfo($oldDir);
  28. $newDir = $renameDirs[$newDirTmp['dirname']];
  29. $newName = $filesList[$newDirTmp['basename']];
  30. if(!strstr($f, 'screenshot.png')) $zip->addFile($f, $newDir.'/'.$newName) or die ("ERROR: Could not add file: $f");
  31. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.