Simon: nl2br in html 4.01 strict-dokument

hai allerseits,

ich verwende in php die funktion nl2br. die gibt aber in den neueren php-versionen ein xhtml-konformes <br /> aus. gibt es eine eifache funktion für die ausgabe von html 4.01-konformem <br> ??

danke!

simon

  1. Hi,

    gibt es eine eifache funktion für die ausgabe von html 4.01-konformem <br> ??

    Ist <br /> nicht  HTML 4.01 Strict konform? Sonst ersetz doch einfach danach alle <br /> durch <br>.

    $html=str_replace('<br />','<br>', $html);

    Gruß,
    Felix

    --
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
    René Descartes
    1. Hallo,

      sieht aus wie ein Beitrag der irgendwo falsch gelandet ist!

      gibt es eine eifache funktion für die ausgabe von html 4.01-konformem <br> ??

      nl2br() kann leider nur <br />.

      Ist <br /> nicht  HTML 4.01 Strict konform? Sonst ersetz doch einfach danach alle <br /> durch <br>.

      <br/> ist die XHTML-Syntax. In HTML ist diese nicht erlaubt (bedeutet eigentlich <br>&gt;). Allerdings wird diese falsche Schreibweise von den meisten Browsern ignoriert (vom Validator jedoch nicht).

      $html=str_replace('<br />','<br>', $html);

      Ist möglich.

      Gruß

      1. Hi,

        sieht aus wie ein Beitrag der irgendwo falsch gelandet ist!

        Nein, nur von einem viel zu übermüdeten Poster verfasst. :)

        <br/> ist die XHTML-Syntax. In HTML ist diese nicht erlaubt (bedeutet eigentlich <br>&gt;). Allerdings wird diese falsche Schreibweise von den meisten Browsern ignoriert (vom Validator jedoch nicht).

        Der W3C-Validator spuckt bei <br /> in HTML lediglich eine Warnung, keinen Fehler aus. Aber natürlich ist <br /> eigentlich XHTML-Syntax und sollte in HTML-Dokumenten vermieden werden. Hier die Warnung vom Validator.

        "The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HMTL 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HMTL 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML."

        $html=str_replace('<br />','<br>', $html);
        Ist möglich.

        Oder eben die Funktion nl2br() gleich weglassen.

        $html=str_replace("\n","\n<br>", $txt);

        Gruß,
        Felix

        --
        Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
        René Descartes
        1. Hi,

          Oder eben die Funktion nl2br() gleich weglassen.

          $html=str_replace("\n","\n<br>", $txt);

          und Probleme mit \r bekommen...

          freundliche Grüße
          Ingo

          1. Hi,

            $html=str_replace("\n","\n<br>", $txt);
            und Probleme mit \r bekommen...

            Höchstens auf Mac OS <=9 (\r\n macht ja keine Probleme). Wenn das relevant ist müssen eben RegExps herhalten.

            Gruß,
            Felix

            --
            Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
            René Descartes
  2. hihi allerseits,

    ihr meint, mein posting hätte eher in ein meeresbiologie-forum gepasst;-) ?

    also ich habe es jetzt mit $html=str_replace("\n","\n<br>", $txt);
    gemacht - ich dachte, es gibt vielleicht eine "fertige" funktion für die "old-fashioned"-variante...

    danke euch!

    s.