Stripslashes macht mehr, als Slashes zu strippen?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by Bugbuster; 16-02-2008, 17:29.
    tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
    documentation: php.net mysql.com framework.zend.com

    Die Nachtwache!

    Comment


    • #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...
      Last edited by Pust; 16-02-2008, 17:52.

      Comment


      • #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?
        Last edited by Pust; 16-02-2008, 18:04.

        Comment


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

          Comment


          • #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!
            Last edited by Pust; 16-02-2008, 18:35.

            Comment

            Working...
            X