Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Automat do zamiany fragmentów kodów plikach
Michael2318
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


Chcę zrobić sobie automat, który zamieni mi w wybranych plikach, wskazane fragmenty na nowe. Napisałem sobie 'coś', lecz niestety to w ogóle nie chce zamieniać podanych przeze mnie kodów.

Część odpowiedzialna za zamiane:

  1. $path = 'plik.tpl';
  2.  
  3. $find[1] = '<td class="catHead" colspan="7" height="28"><span class="cattitle">&nbsp;test</span></td>';
  4. $replacement[1] = 'test';
  5. $find[2] = '<td nowrap class="row1" align="left" valign="middle">';
  6. $replacement[2] = '<div id="costam">';
  7.  
  8.  
  9. $fp = fopen($path, "r");
  10. $old_data = fread($fp, filesize($path));
  11. fclose($fp);
  12. $not_replace = '';
  13. for($i = 1; $i <= 2; $i++)
  14. {
  15. $new_data = str_replace($find[$i], $replacement[$i], $old_data, $count);
  16. if ( $count == 0 )
  17. {
  18. $not_replace .= '<br><span style="color: red;">Nie zamieniono:<br><b>'.$find[$i].'</b> na:<br><b>'.$replacement[$i].'</b>';
  19. }
  20. }
  21. $fp = fopen($path.'index_body.tpl', "w");
  22. fputs($fp, $new_data);
  23. fclose($fp);
  24.  
  25. if ( $not_replace == '' )
  26. {
  27. echo 'Zamieniono poprawnie!';
  28. }
  29. else
  30. {
  31. echo $not_replace;
  32. }


Ktoś mi powie czemu to nie łapie? Rozumiem, gdyby były jakieś odstępy czy coś, ale póki co, to są pojedyncze linie kodów, więc nie rozumiem czemu to nie chce załapać.

EDIT:

Jak echuję strlen($old_data) przed i po zamianie to niby jest jakieś 100 znaków różnicy, ale te wskazane fragmenty nie są nadal zamienione.

Ten post edytował Michael2318 24.01.2013, 22:11:05
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 23:56