Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Webedytor dodaje slashe przed cudzysłowami, co zrobić by nie dodawał ?
Forum PHP.pl > Forum > Przedszkole
sailor
Witam,
Mam prośbę do użytkowników forum,
Używam skryptu php do edycji stron online, ale skrypt dodaje mi w treści edytowanych plików \ slashe, obok cudzysłowów i apostrofów. Próbowałem sobie poradzić stosując w skrypcie funkcję Stripslashes oraz str_replace. Ale to nic niedało. Zwracam się zatem z pytaniem czy można sobie jakoś poradzić z tym problemem, albo może coś źle zrobiłem.
Cały skrypt można zobaczyć jeśli to potrzebne w tym temacie.
Bardzo proszę o pomoc, siędzę już nad tym dwa tygodnie i nie mogę sobie dać rady.

Edytor składa się z kilku plików webeditor.php, navigator.php, navigator.inc, editor.php, editor.inc, common.inc.
Zmiany dokonałem w pliku editor.php
tak wygląda część przeze mnie zmieniona:
  1. <?php
  2. function editor_form($dir, $filename, $is_new) {
  3.  global $PHP_SELF, $edit_form_cols, $edit_form_rows;
  4.  
  5.  $filepath = "$dir/$filename";
  6.  if(!$is_new) $filebody = implode("",file($filepath));
  7.  $file_info_array = file_info("$filepath");
  8.  $editable = 1;
  9.  if($file_info_array["filetype"] != "text") {
  10. $filebody = $filepath . " nie jest plikiem tekstowym.
  11.  Nie powinieneś go edytować.";
  12. $editable = 0;
  13.  stripslashes($filebody); // lub $filebody=str_replace("/", "", $filebody); 
  14.  }
  15.  if($editable) {
  16. ?>


Pozdrawiam i liczę na fachową pomoc
John
a probowałeś eregi_replace ?

  1. <?php
  2. eregi_replace (string pattern, string replacement, string string)
  3. ?>
sailor
A w którym miejscu to wstawić ?, dałem zamiast stripslashes i niedziała.
John
  1. <?php
  2. eregi_replace("/","",$filebody); // składnia musi być taka jak Ci podałem.
  3. ?>
gilbo
Moze sprobuj:

  1. <?php
  2.  $filebody = stripslashes($filebody);
  3. ?>


Cytat
A w którym miejscu to wstawić ?

Musisz to dodac przed zapisaniem do pliku/bazy danych;)
sailor
Zrobiłem jak pisaliście niestety bez efektów. co jest grane ?

tak zrobiłem:

  1. <?php
  2. //editor.php
  3. include "./common.inc";
  4.  
  5. function editor_form($dir, $filename, $is_new) {
  6.  global $PHP_SELF, $edit_form_cols, $edit_form_rows;
  7.  
  8.  $filepath = "$dir/$filename";
  9.  if(!$is_new) $filebody = implode("",file($filepath));
  10.  $file_info_array = file_info("$filepath");
  11.  $editable = 1;  
  12.  if($file_info_array["filetype"] != "text") {
  13. $filebody = $filepath . " nie jest plikiem tekstowym.
  14.  Nie powinieneś go edytować.";
  15. $editable = 0;
  16. $filebody = stripslashes($filebody);
  17.  }
  18.  if($editable) {
  19. ?>


takiej samej zmiany dokonałem w pliku editor.inc

proszę o pomc
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.