Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP 8.x gibt mir Rätsel auf: Escape geht auch nicht mehr?

Einklappen

Neue Werbung 2019

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

  • PHP 8.x gibt mir Rätsel auf: Escape geht auch nicht mehr?

    Moin,

    ich habe ein " in meinem String, und das ergibt einen Fehler, weil das " als " gedeutet wird und somit den String beendet und danach natürlich alles falsch interpretiert wird.

    Eine Zeile wie
    PHP-Code:
    echo "<div style='color:red;'>Du musst ein " verwenden</div>\n"; 
    genügt da schon.
    Natürlich könnte ich &quot; nehmen, aber eigentlich fing es damit an:
    PHP-Code:
    echo "<div style="color:red;">bla bla bla...</div>\n"
    Die " habe ich erst mal in ' geändert, aber das müsste ich jetzt in sämtlichen PHP-Dateien machen.
    Es ist ja nicht nur bei style-Angaben. Sämtliche Attribute, die ich innerhalb einen Strings in Gänsefüßchen setzen will, erzeugen diesen Fehler.

    Muss ich da vorher irgendwas definieren/einstellen, damit " wieder funktioniert?

    VGM


    P.S. sämtliche \n in einem String werden nicht mehr als neue Zeile, sondern als n ausgegeben...

  • #2
    Das ist kein Fehler.

    Kommentar


    • #3
      Ich glaube du solltest dich wirklich noch einmal intensiv mit den Grundlagen befassen.

      Kommentar


      • #4
        So klappt es sogar hier im Forum, das die komplette Zeichenkette in Rot angezeigt wird.
        PHP-Code:
        echo "<div style='color:red;'>Du musst ein \" verwenden</div>\n"
        PHP-Code:
        echo "<div style=\"color:red;\">bla bla bla...</div>\n"

        Kommentar


        • #5
          Ich würde diese doppelten Anführungszeichen den Attributen von HTML überlassen und in PHP nur einfache Anführungszeichen verwenden.
          PHP-Code:
          echo '<div style="color:red;">bla bla bla...' $blubb .
          ' Du musst ein " verwenden</div>' PHP_EOL

          Kommentar


          • #6
            Wenn es denn unbedingt sein muss mehrzeiliges HTML in PHP Skripten zu notieren sollte auf die Heredoc-Syntax oder Nowdoc-Syntax zurückgegriffen werden.

            PHP-Code:
            $blubb 'noch mehr bla';

            $html = <<<HTML
            <div style="color:red;">bla bla bla...$blubb.
             Du kannst beliebig viele " und ' verwenden</div>
            HTML;

            echo 
            $html
            Ausgabe:

            bla bla bla...noch mehr bla. Du kannst beliebig viele " und ' verwenden

            Macht sich auch sehr gut um längere SQL-Anweisungen zu notieren.

            Kommentar


            • #7
              Zitat von m.hoeting Beitrag anzeigen
              Muss ich da vorher irgendwas definieren/einstellen, damit " wieder funktioniert?
              Was heißt wieder? Der von dir gepostete Code hat auch nicht mit älteren Versionen von PHP funktioniert.

              Kommentar

              Lädt...
              X