Php 如何使用substr但保持<;br>;在文本区

Php 如何使用substr但保持<;br>;在文本区,php,html,Php,Html,所以我创建了一个post函数,但是当我想在首页上显示post时,它应该只显示前200个字母,并保留用户在text区域中所做的所有中断。 我现在做的是: substr($row["content"], 0, 200); 这样可以很好地显示内容,但是可以显示用户所做的所有中断 看看这里 看看这里 将换行符应用于子字符串的中断函数: nl2br(substr($row["content"], 0, 200)); 或者,如果要保存整个单词: nl2br(mb_substr($row["content

所以我创建了一个post函数,但是当我想在首页上显示post时,它应该只显示前200个字母,并保留用户在text区域中所做的所有中断。 我现在做的是:

substr($row["content"], 0, 200);
这样可以很好地显示内容,但是可以显示用户所做的所有中断

看看这里

看看这里


换行符
应用于子字符串的
中断
函数:

nl2br(substr($row["content"], 0, 200));
或者,如果要保存整个单词:

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

newline
to
break
函数应用于子字符串:

nl2br(substr($row["content"], 0, 200));
或者,如果要保存整个单词:

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

PHP的行尾

PHP正确的“行尾”符号是常量。可以使用常量以跨平台兼容的方式将换行符替换为br标记

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

Strip_标记将从字符串中删除所有HTML、XML和PHP标记。您可以使用可选的第二个参数作为白名单

保留BR标签

在一行中使用带有白名单br和substr的strip_标签

substr(strip_tags($row["content"],'<br>'), 0, 200);
substr(带标签($row[“content”],“
”),0200);
最终代码

让我们将替换和筛选步骤合并到一个代码块中

substr(strip_tags(str_replace(PHP_EOL,'<br>',$row["content"]),'<br>'), 0, 200);
substr(strip_标签(str_replace(PHP_EOL,
,$row[“content”]),“
”),0200);
PHP的行尾

PHP正确的“行尾”符号是常量。可以使用常量以跨平台兼容的方式将换行符替换为br标记

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

Strip_标记将从字符串中删除所有HTML、XML和PHP标记。您可以使用可选的第二个参数作为白名单

保留BR标签

在一行中使用带有白名单br和substr的strip_标签

substr(strip_tags($row["content"],'<br>'), 0, 200);
substr(带标签($row[“content”],“
”),0200);
最终代码

让我们将替换和筛选步骤合并到一个代码块中

substr(strip_tags(str_replace(PHP_EOL,'<br>',$row["content"]),'<br>'), 0, 200);
substr(strip_标签(str_replace(PHP_EOL,
,$row[“content”]),“
”),0200);
您的意思是没有新行还是从内容中删除了

?。。或者您想要的前200个字符后面是否有

?@Danuel Alsaker您能给出$row[“content”]的内容吗?或者至少举个例子,您的意思是没有新行,或者

从内容中删除了吗?。。或者在你想要的前200个字符后面是否有

?@Danuel Alsaker你能给出$row[“content”]的内容或至少一个例子吗?这就是为什么你应该先对字符串进行子字符串处理,然后再应用nl2br。但这就是为什么你应该先对字符串进行子字符串处理,然后再应用nl2br。这正是我所寻找的!当我把nl2br和substr分开使用时,我正在考虑是否有办法将它们结合起来,只是不确定如何将它们结合起来。C:这正是我要找的!当我把nl2br和substr分开使用时,我正在考虑是否有办法将它们结合起来,只是不确定如何将它们结合起来。谢谢你C: