Stripslashes macht mehr, als Slashes zu strippen?

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

  • Stripslashes macht mehr, als Slashes zu strippen?

    Hallo,

    mal eine allgemeine Frage, macht striplashes() wirklich nicht mehr,
    als die Backslashes entfernen?

    Ich hab da nämlich ein Script, wenn das durchgelaufen ist, wiederholen sich (beliebige?) Teile des Textes am Ende der Datei, ohne stripslashes macht es das nicht!

    Ich stelle extra nur die obige Frage, weil ich bei einem eindeutigen "ja" lieber einen vielleicht sehr peinlichen Fehler suche, bevor ich Quelltext poste, der einen ganz blöden Fehler enthält...

  • #2
    es macht nicht mehr!

    Gibt einen String zurück, aus dem alle Backslashes ("\") entfernt wurden. (\\' wird zu ' usw.). Doppelte Rückstriche (\\) werden zu einem einfachen Backslash (\) umgesetzt.
    eine funktion wird sicherlich nicht anfangen wilde sachen zu machen ^^

    zeig doch ma den quelltext dann können wir dir sicherlich helfen wo der schuh drückt.

    mfg
    bugbuster

    ps: hier der link zur funktion
    Zuletzt geändert von Bugbuster; 16.02.2008, 18:29.
    tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
    documentation: php.net mysql.com framework.zend.com

    Die Nachtwache!

    Kommentar


    • #3
      Ja, danke, die Funktion hab ich mir schon eingehend angeschaut...

      ich mache im Prinzip nicht viel:


      Außenrum:
      <form method="post">
      <textarea name="txt" id="txt" cols="80" rows="20" readonly>
      ...
      </textarea>
      <input type="submit" value="ersetzen">
      </form>


      Und dann innendrin:

      PHP-Code:
      $file 'test.txt';


      $handle fopen ($file'r+');

      $text=stripslashes($_POST['txt']);
      $text preg_replace('Aufwaerts'"Abwaerts"$text);

      fwrite ($handle$text);
      fclose ($handle); 
      (Den Rest des HTMLS und des Forms laß ich mal weg, das geht ja auch )

      Der Witz ist, wenn ich stripslashes weglasse, dann ersetzt er es garnicht erst, mit stripslashes macht er es, wiederholt aber einen Teil am Ende:

      ...ganz viel Text...dann
      <strong>2008- 2-16</strong><h1>xxx@hotmail.com</h1>

      und nach dem Ersetzen steht am Ende:
      <strong>2008- 2-16</strong><h1>xxx@hotmail.com</h1>
      2008- 2-16</strong><h1>xxx@hotmail.com</h1>

      In dem Script ist sonst nur noch HTML drin, ich finde das irgendwie schräg...
      Zuletzt geändert von Pust; 16.02.2008, 18:52.

      Kommentar


      • #4
        Hm, muß ich vielleicht vor dem Schreiben den Zeiger ans Ende der Datei schicken, weil das "Aufwaerts" kurz vor dem Wiederholten Text steht?
        Und wenn ja, wie geht das?

        Edit:
        Hm, kann kaum sein, daß es der Zeiger von der Ersetzung ist, es ist noch ein ganzes Stück bis zur Wiederholung von der Ersetzung.
        Kann es sein, daß der Zeiger dort steht, wo er das letzte Stripslashes gemacht hat?

        Kann ich mir die unsichtbaren Zeichen der Originaldatei irgendwie anzeigen lassen?
        Zuletzt geändert von Pust; 16.02.2008, 19:04.

        Kommentar


        • #5
          versuch mal:
          $handle = fopen ($file, 'w+');

          Kommentar


          • #6
            *staun*
            Das könnte es gewesen sein! Danke!

            Ich hab es noch getrimmt, jetzt sieht es so aus:

            PHP-Code:
            //.....
            $handle fopen ($file'w+');

            $text=trim($_POST['txt']);
            $text=stripslashes($text);  

            $text preg_replace('Aufwaerts'"Abwaerts"$text);

            fwrite ($handle$text);
            fclose ($handle);
            //... 

            Noch ein wenig durchtesten, die andere Version hat nämlich auch in manchen Fällen funktioniert...

            Aber vielen Dank, das war es sicher!
            Zuletzt geändert von Pust; 16.02.2008, 19:35.

            Kommentar

            Lädt...
            X