IE8 interpretiert <br/><br/> falsch

  • Hi,
    ich hoffe ihr könnt mir helfen.
    Jedes mal wenn bei mir irgendwo der Zeilenumbruch doppelt vorkommt, erkennt IE8 es als nur einen Zeilenumbruch.... so ein "(/$=)(&$§(. In FF und Chrome wird es korrekt angezeigt. Gibt es einen Weg dies zu korrigieren? Eventuell durch CSS?
    Ich habe hier ein Screenshot von etwas Code und der Darstellung:
    http://www.abload.de/img/unbenanntj9qn.png

    Greets,
    Ben

  • Benutze Paragraphen, statt doppelten Zeilenumbrüchen.
    Also das, was du optisch abtrennen willst setze zwischen <p> und </p>.
    Dann sollte es keine Probleme geben und entspricht auch der HTML-Grundidee ;)

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • wäre nicht so gut. Ich lasse diesen Inhalt aus *.txt Dateien rauslesen (da man sie im Adminbereich editieren kann). Also werden die Zeilenumbrüche automatisch durch
    <?php
    $content = fopen ("./text_content/willkommen.txt", "r");
    while(!feof($content)) {
    $output = htmlspecialchars(fgets($content, 1024));
    echo ("$output<br />");
    }
    fclose($content);
    ?>
    erstellt. Und da der Betreiber der Website nicht sonderlich viel Erfahrung von HTML hat, wird es dort nur ohne HTML Code gespeichert.

    In dieser Textdatei aus dem Bildbeispiel oben steht zb. unter anderem folgendes:

    Zitat

    Erfolgreich und Effektiv werben!!!

    Die Kombination von Kreativität, technischem Wissen und werblichem Verstand ermöglicht die kundenorientierte Umsetzung, abgestimmt auf Ihre Bedürfnisse und Anforderungen.

    Wir bieten Lösungen für ihre kleinen
    und großen Werbeprobleme:

    Einmal editiert, zuletzt von BenTreeser (5. Januar 2010 um 00:16)

  • Ich habe den IE 8 aus "religiösen" Gründen noch nie installiert gehabt. (IE 7 war schlimm genug^^

    kannst du auf PHP zugreifen?
    Dann könnte ich dir ein Script schreiben, das das ersetzen kann.

    Ansonsten versuch mal per CSS alle <br> auf "display:block;height:100%" zu setzen.

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Ja... wem sagst du das mit IE, sollte verboten werden.
    Ich bezweifele dass ich auf PHP zugreifen kann, da 1und1 der hoster ist.
    Und das mit CSS klappt leider auch nicht :(

  • Habe gerade dein Edit gelesen.
    Du verwendest PHP. Ich meinte damit, ob du auf den PHP-Code zugreifen und ihn verändern kannst ;)
    Oder ob der so bleiben muss, die er ist.(?)

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • willkommen.txt

  • PHP
    <?php 
    		$content = fopen ("./text_content/willkommen.txt", "r");
    		while(!feof($content)) {
    		    $output = htmlspecialchars(fgets($content, 1024));
    		    echo ("$output<br />");
    		}
    		fclose($content);
    	?>


    ersetz den code mal gegen den da:

    PHP
    <?php
    
    
        $output = "<p>".htmlspecialchars(file_get_contents("./text_content/willkommen.txt"))."</p>";
        $output = str_replace("\r\n", "\n", $content);
        $output = str_replace("\n\n", "</p><p>");
        echo $output;
    
    
    ?>

    Falls dein vorhin geposteter Code alles ist, was die Ausgabe regelt, dann sollte das hier reichen.

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • HTML
    bla
    <br><br>
    bla
    <br/><br/>
    bla
    <br /><br />
    bla

    Zeigt mir der IE genau so an wies sein soll, also verteufel nicht gleich mal den IE8 - du hast vermutlich irgendwo einen Fehler drin. Link zur Seite wo man sich das evtl. anschauen kann?

  • PHP
    echo nl2br(file_get_contents("./text_content/willkommen.txt"));

    Ergibt ganau das gleiche :(


    PHP
    <?php
    
    
        $output = "<p>".htmlspecialchars(file_get_contents("./text_content/willkommen.txt"))."</p>";
        $output = str_replace("\r\n", "\n", $content);
        $output = str_replace("\n\n", "</p><p>");
        echo $output;
    
    
    ?>

    Das ist nicht vollständig oder?
    Meintest du das so?

    PHP
    <?php
    
    
        $content= "<p>".htmlspecialchars(file_get_contents("./text_content/willkommen.txt"))."</p>";
        $output = str_replace("\r\n", "\n", $content);
        $output = str_replace("\n\n", "</p><p>", $output);
        echo $output;
    
    
    ?>
  • Krieg die Seite Valide, dann hast du solche Fehler nicht.

    Aber hier mal n Hotfix:

    PHP
    $content = fopen ("./text_content/willkommen.txt", "r");
    while(!feof($content)) {
                $output = htmlspecialchars(fgets($content, 1024));
                 echo ($output . "&nbsp;<br />");
    }
            fclose($content);


    Sobald die Seite Valide ist, solltest die Version von bandit nehmen, ist um einiges passender.

  • Krieg die Seite Valide, dann hast du solche Fehler nicht.

    Aber hier mal n Hotfix:

    PHP
    $content = fopen ("./text_content/willkommen.txt", "r");
    while(!feof($content)) {
                $output = htmlspecialchars(fgets($content, 1024));
                 echo ($output . "&nbsp;<br />");
    }
            fclose($content);


    Sobald die Seite Valide ist, solltest die Version von bandit nehmen, ist um einiges passender.


    Danke das war es, bist mein Held :D.
    So ein unscheinbarer Fehler....
    Ich habe ja schon am Anfang diese Methode benutzt, nur eine Zeile unterscheidet sich.

    Falsch:

    PHP
    echo ("$output<br>");

    Richtig:

    PHP
    echo ($output . "&nbsp;<br>");