Frage von JFWR737, 94

HTML, PHP und MySQL Zeilenumbrüche?

Moin moin.

Mich beschäftigt folgende Frage:

Wie schaffe ich es, dass ich mit meinem PHP Script einen Zeilenumbruch aus einer MySQL Datenbank lese und den Zeilenumbruch auch in HTML setzte? Ich habe soweit die Verbindung fertig, mir wird der Text aus der Datenbank durch den PHP Script in HTML angezeigt. Ja, ich bin ein Anfänger in Web-Development, sry.

Antwort
von Minilexikon, 41

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

Antwort
von Poldi95, 78

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);
?>
Kommentar von JFWR737 ,

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

Kommentar von Poldi95 ,

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?

Kommentar von JFWR737 ,
// 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;});
});
Antwort
von webflexer, 63

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;
Kommentar von JFWR737 ,

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

Kommentar von webflexer ,

Dann schreibe eine PHP Funktion die das erledigt.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten