2016-09-03 1 views
0

halten So habe ich eine Post-Funktion erstellt, aber wenn ich den Beitrag auf der Titelseite anzeigen möchte, sollte es nur die ersten 200 Buchstaben sowie alle Unterbrechungen der Benutzer anzeigen im textarea gemacht. Was ich tue, ist die folgende:Wie substr zu verwenden aber <br> in textarea

substr($row["content"], 0, 200); 

und dies zeigt den Inhalt ganz gut, aber es lässt alle ausbricht, dass der Benutzer macht.

+0

Haben Sie neue Linien bedeuten, sind nicht da, oder ''
wurde aus dem Inhalt entfernt? .. oder waren/sind es ''
nach den ersten 200 Zeichen wünschen Sie? – chris85

+0

@Danuel Alsaker können Sie den Inhalt von $ row ["content"] oder mindestens ein Beispiel geben –

Antwort

1

newline zu break Funktion zu Ihrem Teilzeichenfolge Nehmen:

nl2br(substr($row["content"], 0, 200)); 

Oder wenn Sie ganze Wörter speichern:

nl2br(mb_substr($row["content],0,200)); //this will not strip the word in the middle, so if it longer than 200 with the last word, it ends up before that word 
+0

Genau das habe ich gesucht! Ich habe genau darüber nachgedacht, ob es eine Möglichkeit gäbe, nl2br mit substr zu kombinieren, da ich sie getrennt voneinander benutzt habe. Ich war mir nicht sicher, wie ich sie kombinieren sollte. Danke C: –

+0

Gern geschehen! – pedrouan

0

PHPs Ende von Li ne

Das korrekte 'End Of Line' Symbol für PHP ist die Konstante PHP_EOL. Sie können die Konstante PHP_EOL verwenden, um das Zeilenumbruchzeichen plattformübergreifend mit dem br-Tag zu ersetzen.

$row["content"] = str_replace(PHP_EOL,'<br>',$row["content"]); 

Werfen Sie einen Blick auf strip_tags

strip_tags alle HTML, XML und PHP-Tags aus einer Zeichenfolge entfernen. Sie können den optionalen zweiten Parameter als Whitelist verwenden.

Halten Sie den BR-Tag

Verwenden strip_tags mit weißen Listen br und substr in einer Zeile:

substr(strip_tags($row["content"],'<br>'), 0, 200); 

Schlusscode

Lasst uns kombinieren die ersetzen und Filter Schritte in einem Codeblock.

substr(strip_tags(str_replace(PHP_EOL,'<br>',$row["content"]),'<br>'), 0, 200);