Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Backslash

Einklappen

Neue Werbung 2019

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

  • Problem mit Backslash

    Ich lasse den Benutzer Text in eine Textarea eingeben. Immer wenn der allerdings ein Gänsefüßchen angibt, dann wird daraus
    PHP-Code:
    \
    Wie bekomme ich diesen Backslash weg? Ich habe schon mit eregi_replace und so alles versucht, aber es klappt einfach nicht. Der Text soll halt einfach genauso ausgegeben wie der Benutzer ihn eingegeben hat, und es sollen nicht zwischendurch irgendwelche Backslashes auftauchen. Wie mache ich das?

  • #2
    htmlspecialchars()

    Kommentar


    • #3
      Dankeschön. Funktioniert aber leider nicht.

      htmlspecialchars() macht folgendes (php.net):
      '&' (kaufmännisches und) wird zu '&'
      '"' (doppelte Anführungszeichen) wird zu '"', wenn ENT_NOQUOTES nicht gesetzt ist
      ''' (einfaches Anführungszeichen) wird zu ''', wenn ENT_QUOTES gesetzt ist
      '<' (kleiner als) wird zu '&lt;'
      '>' (grösser als) wird zu '&gt;'

      Das heißt aus '\"' wird '\&quot;' Bin echt am verzweifeln .

      Kommentar


      • #4
        *ping

        also, mein Code sieht (in seiner verinfachtesten Form) folgendermaßen aus (Dateiname: test1.php):
        PHP-Code:
        <html>
        <head>
        </head>
        <body>

        <?php
        if($HTTP_POST_VARS["submit"] == "OK")
        {
           
        $eingegebener_text $HTTP_POST_VARS["texteingabe"];
           echo 
        $eingegebener_text;
        }
        ?>

        <form method="post" action="test1.php">
          <textarea rows=5 cols=50 name="texteingabe"></textarea>
          <input type="submit" name="submit" value="OK">
        </form>

        </body>
        </html>
        Bei diesem Code wird bei den übertragenden Text vor jedes Zeichen \ " ' ein Backslash gesetzt.
        Mit
        PHP-Code:
        eregi_replace('\', ' ', $eingegebener_text); 
        kann ich hier nichts ausrichten.
        httpspecialchars() oder httpentities() funktioniert auch nicht.

        Das muss doch zu lösen sein? Wäre echt wichtig!

        Kommentar


        • #5
          Zitat von Kofi
          httpspecialchars() oder httpentities() funktioniert auch nicht.
          Ja ne, die heißen ja auch htmlspecialchars() und htmlentities() :wink:

          Du musst einfach \" mit " ersetzen:
          PHP-Code:
          $text str_replace('\"','&quot;',$text); 
          mfg
          Jos

          Edit: Mist, Die Quote- und PHP-Funktionen funktionieren noch nicht :wink:

          Kommentar


          • #6
            Re: Problem mit Backslash

            Zitat von Kofi
            Wie bekomme ich diesen Backslash weg?
            16.13. Wieso wird aus " plötzlich \" und wie geht das wieder weg?
            http://php-faq.info/index.php?aktion...20wieder%20weg

            Kommentar


            • #7
              Zitat von DaNnYy
              Du musst einfach \" mit " ersetzen:
              PHP-Code:
              $text str_replace('\"','&quot;',$text); 
              Ja ne, was meinst du, was ich die ganze Zeit gemacht hab.^^

              @Forum: Ja, das ist echt lustig, dass die Slashes im php-Code mit &amp; ersetzt werden.

              @meikel: vielen, vielen Dank!

              Kommentar


              • #8
                Zitat von Kofi
                @Forum: Ja, das ist echt lustig, dass die Slashes im php-Code mit &amp; ersetzt werden.
                Göööökeeeee!!! Die PHP Beleuchtung baut Mist!

                Kommentar


                • #9
                  Zitat von Kofi
                  Ja ne, was meinst du, was ich die ganze Zeit gemacht hab.^^
                  Sry ^^. Bei mir war das selbe Problem, und ich hab's so gelöst. :wink:

                  mfg
                  Jos

                  Kommentar


                  • #10
                    Zitat von DaNnYy
                    Sry ^^. Bei mir war das selbe Problem, und ich hab's so gelöst. :wink:
                    Wer stripslashes() mit str_replace() nachbastelt, wird mit einmal Handbuchlesen außer der Reihe bestraft!

                    Kommentar

                    Lädt...
                    X