nl2br() - IE und FF

crashx

Erfahrenes Mitglied
Warum Interpretiert der IE das nicht richtig?

Wenn ich ein eine Zeile schreibe, danach eine Zeile auslasse, Interpretiert der IE das nicht? Er macht nur ein ich sage mal <br>.

Bsp:

Eingabe auf einer Linie,

Eingabe auf der zweiten Linie

Eingabe auf der Dritten Linie.

Ausgabe:
Eingabe auf einer Linie,
Eingabe auf der zweiten Linie
Eingabe auf der Dritten Linie.

PHP:
echo '<div class="text">';
  echo nl2br($row['text']);
echo '</div>';
Ich weiss halt nicht ob ich hier richtig bin, wenn nicht verschieben ;)
 
Bearbeitest du den Text den schon vorher in irgendeiner Weise?

#EDIT:

Probier mal das hier aus:
PHP:
function nls2p($str)
{
  return str_replace('<p></p>', '', '<p>'
        . preg_replace('#([\r\n]\s*?[\r\n]){2,}#', '</p>$0<p>', $str)
        . '</p>');
}

echo '<div class="text">';
  echo nl2br(nls2p($row['text']));
echo '</div>';

sonst dies

PHP:
function nl2br2($string) {
$string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string);
return $string;
}

echo '<div class="text">';
  echo nl2br2($row['text']));
echo '</div>';
 
Zuletzt bearbeitet:
Nein ich bearbeite den Text vorher nicht.
Verwunderlich ist ja das der Quelltext stimmt, aber der IE das ned Interpretiert aber der Firefox eben schon.
 
Bearbeitest du den Text den schon vorher in irgendeiner Weise?

#EDIT:

Probier mal das hier aus:
PHP:
function nls2p($str)
{
  return str_replace('<p></p>', '', '<p>'
        . preg_replace('#([\r\n]\s*?[\r\n]){2,}#', '</p>$0<p>', $str)
        . '</p>');
}

echo '<div class="text">';
  echo nl2br(nls2p($row['text']));
echo '</div>';

PHP:
echo nl2br(nl2br($row['text']));

So gehts :) Danke
Wenn mir jemand eine Erklärung dazu hat, immer her damit.

Danke
 
Zurück