Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] HTML abspeichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] HTML abspeichern

    So ich bins nochmal, diesmal stehe ich vor einem merkwürdigem Problem: Und zwar benutze ich einen Editor für das editieren einer Seite, zum Einsatz kommt bei mir WYMeditor, davor hatte ich allerdings nicEdit und da war es genau das gleiche, also hat es damit schonmal nichts zu tun.

    Wenn ich im Editor jetzt etwas eingebe, beispielsweise:
    Code:
    <a title="asdasdads" href="http://www.google.cn">ysddfdsfsdf</a>
    Und es dann so abspeicher:
    PHP-Code:
    $handle fopen($pathtowrite"w")
    fwrite($handle$texttosave
    Kommt das dabei raus:
    Code:
    <a title="\&quot;asdasdads\&quot;" href="%5C%22http://www.google.cn%5C%22">ysddfdsfsdf</a>
    Auf der Seite steht dann allerdings diese URL:
    Code:
    http://pfad/zur/datei/%5C%22http://www.google.cn%5C%22
    Jetzt ist die Frage, wie kann ich das einfach so übertragen wie es in der Textarea steht, ohne dass PHP das irgendwie umformatiert?
    Ich habe vorhin ausgiebig Gegoogelt, allerdings scheint dieses Problem sonst keiner zu haben, wahrscheinlich habe ich nur mal wieder eine kleinigkeit übersehen .

    Danke.

    Gruß
    devzero


  • #2
    Also dein Ergebnis wundert mich ein wenig;
    Prüfe mal bitte, ob magic_quotes bei deinem Server aktiviert ist, dass könnte die Backslashs erklären.
    Was mich aber irritiert, sind die vielen anderen Zeichenkodierungen, z.B. einmal die Hex-Schreibweise und an anderer Stelle die HTML-Schreibweise für Sonderzeichen.

    Könntest du vielleicht einmal das ganze Skript posten und nicht nur den Speicherausschnitt.
    mysql ist veraltet Mails senden: Ohne Probleme und ohne mail()
    PHP-Code:
    echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>'

    Kommentar


    • #3
      Zitat von ChrisvA Beitrag anzeigen
      Prüfe mal bitte, ob magic_quotes bei deinem Server aktiviert ist, dass könnte die Backslashs erklären.
      In der phpinfo steht folgendes dazu:
      Directive - Local Value - Master Value
      magic_quotes_gpc On On
      magic_quotes_runtime Off Off
      magic_quotes_sybase Off Off
      Was mich aber irritiert, sind die vielen anderen Zeichenkodierungen, z.B. einmal die Hex-Schreibweise und an anderer Stelle die HTML-Schreibweise für Sonderzeichen.
      Das einzigste was vielleicht noch hinzuzufügen ist: Per mouseover auf den Link wird im FF in der Statuszeile nicht der Link anzegeigt, der oben steht, sondern so: www.seite.de/pfad/\"http//www.google.de\"
      Sobald ich den Link aufrufe/kopiere, steht es aber so wie oben.
      Könntest du vielleicht einmal das ganze Skript posten und nicht nur den Speicherausschnitt.
      Hier das komplette Script:
      admin_edit.php (class= ist für die integration in den wymeditor)
      PHP-Code:
      <?php
      $id
      ="$_GET[id]";
      $pathtoread=$dir_pages."$_GET[id]".'.html';

      print 
      '
      <form method="post" action="index.php?section=save&id='
      .$id.'">
          <textarea class="wymeditor" name="textarea" rows="15" cols="60">'
      ;
                  
      $pagecontent file_get_contents($pathtoread);
                  print 
      $pagecontent;
                  print 
      '
          </textarea>
          <div id="box_admin">
              <input type="submit" class="wymupdate" name="Button"> to '
      .$pathtoread.'
          </div>
      </form>
      '
      ;
      ?>
      admin_save.php (wird aufgerufen durch action=)
      PHP-Code:
      <?php
      $texttosave
      =$_POST['textarea'];
      $pathtowrite=$dir_pages."$_GET[id]".'.html';
      if (
      is_writable($pathtowrite)) {
          if (!
      $handle fopen($pathtowrite"w")) {
               print 
      'Can not open '.$pathtowrite;
               exit;
          }
          if (!
      fwrite($handle$texttosave)) {
              print 
      'Can not write to '.$pathtowrite;
              exit;
          }
          print 
      "Successfully saved";
          
      fclose($handle);
      } else {
          print 
      $pathtowrite.' is not writeable';
      }
      ?>
      Danke & Gruß
      devzero

      Kommentar


      • #4
        php-faq.de: Wieso wird aus " plötzlich \" und wie geht das wieder weg?

        Kommentar


        • #5
          Ah sehr schön das war es, vielen Dank!

          Habe das jetzt so gelöst:
          PHP-Code:
          $texttosave=stripslashes($_POST['textarea']); 

          Kommentar


          • #6
            Sorry, aber Deine Ausführungen oben erzählen doch was ganz anderes... ?!
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Hi,
              mein Problem war, dass PHP z.B. aus href=" href=\" gemacht hat. Warum dass dann als href="%5C%22 dargestellt wurde, kann ich mir nicht erklären, dass wirst du wahrscheinlich besser wissen. Mit der Verwendung von stripslashes wird das ganze jetzt richtig dargestellt. Falls du den Beginn der URL mit http://pfad/zur/datei/ meinst, da habe ich wahrscheinlich noch einen Fehler gemacht. Mit der URL Google wurde das angehängt, mit Google nicht. Das kann ich mir genausowenig erklären, aber es funktioniert zumindest erstmal, gerade bin ich eher an anderen Sachen dran, vielleicht weiß ich ein andermal mehr und kann das dann von selbst lösen (wollte deshalb jetzt nicht nochmal fragen weil es momentan nicht von bedeutung ist).

              Gruß, devzero

              Kommentar

              Lädt...
              X