HTML, PHP und MySQL Zeilenumbrüche?

3 Antworten

Es gibt dazu extra eine PHP-Funktion (ob die aber hilft, wenn auch str_replace nicht hilft, müsstest du ausprobieren): http://php.net/manual/de/function.nl2br.php

Woher ich das weiß:Berufserfahrung – Seit 2014

Das kommt darauf an, wie der Zeilenumbruch in deiner MySQL-Datenbank gespeichert wird ;-)

Im Normalfall werden Zeilenumbrüche in einer MySQL-Datenbank im Feld als \n gespeichert.

Beim Auslesen des Feldes und schreiben in eine HTML-Datei musst du nun nichts weiteres tun, als das \n in das HTML-bekannte <br> umzuwandeln.

Dazu kannst du dir das ganze als String übergeben lassen und dann in PHP alle \n durch <br> ersetzen:

<?
$string=str_replace("\n","<br>",$string);
?>

JFWR737 
Beitragsersteller
 29.01.2016, 15:31

Danke. Leider werden mir so keine Zeilenumbrüche in meine HTML Cards gezaubert.. Noch eine Idee? :D

Poldi95  29.01.2016, 15:46
@JFWR737

Ich brauch mehr Code von dir :D
Wie genau holst du dir die Daten aus deiner Datenbank? wo und wie speicherst du Sie? wie ist deine Datenbank aufgebaut (Felder)?
Wie kommen die Daten in deine HTML-Datei?

JFWR737 
Beitragsersteller
 29.01.2016, 16:01
@Poldi95
// Create connection

$conn = new mysqli($mysql_host, $mysql_user, $mysql_password,$mysql_database);
mysqli_query($conn, "SET NAMES 'utf8'");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT Titel,Text,Autor,Datum FROM employee";
$result = $conn->query($sql);
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"Titel":"' . $rs["Titel"] . '",';
$outp .= '"Text":"' . $rs["Text"] . '",';
$outp .= '"Autor":"' . $rs["Autor"] . '",';
$outp .= '"Datum":"' . $rs["Datum"] . '"}';

}
$outp ='{ "records":[ '.$outp.' ]}';
$outp = str_replace("\n","
",$outp);
$conn->close();
echo($outp);
?>

und HTML: http://pastebin.com/vEsUgCUn

JavaScript:

app.controller('customersCtrl', function($scope, $http) {


$http.get("meinedomain.de/php.php")
.success(function (response) {$scope.data = response.records;});
});

Wenn keine Zeilenumbrüche abgespeichert sind, kannst du in PHP Zeilenumbrüche erzwingen.

$text = "Der schnelle braune Fuchs sprang über den faulen Hund.";
$neuertext = wordwrap( $text, 20, "<br />\n" );

echo $neuertext;

JFWR737 
Beitragsersteller
 29.01.2016, 15:57

ich möchte aber ungern für jeden text diesen php code neu machen.