Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 去除HTML字符串,但不要';不要丢失换行符_Php_Html_Strip Tags - Fatal编程技术网

Php 去除HTML字符串,但不要';不要丢失换行符

Php 去除HTML字符串,但不要';不要丢失换行符,php,html,strip-tags,Php,Html,Strip Tags,我有一个字符串,其中包含很多HTML(HTML电子邮件正文) 我想做的是丢失所有HTML,但保留换行符,我尝试了strip_tags(),但这对我不起作用,它使字符串只有一行 完成后,我只想回显这个字符串的前5行 有人有主意吗 更新: $string = strip_tags($string, '<p><br><br />'); 但它应该再次从0开始计数 array\u filter()array\u merge()等。不起作用。与第二个参数一起使用,如:s

我有一个字符串,其中包含很多HTML(HTML电子邮件正文)

我想做的是丢失所有HTML,但保留换行符,我尝试了
strip_tags()
,但这对我不起作用,它使字符串只有一行

完成后,我只想回显这个字符串的前5行

有人有主意吗

更新:

$string = strip_tags($string, '<p><br><br />');
但它应该再次从0开始计数

array\u filter()array\u merge()
等。不起作用。

与第二个参数一起使用,如:
strip\u标记($html,
。如您所见,第二个参数采用文档中的
$allowed_tags

另见问题/答案

也许最容易获得前几行的方法是使用:

$lines=explode(“
”,$string);//通过爆炸新线从该阵列中获得前5个

当然可以使用
$lines[0]
(第1行),
$lines[1]
(第2行)等获取行。

现在已修复,不再使用电子邮件,而是从数据库获取消息数据,现在我可以剥离字符串并分解,从0开始计数


谢谢你的想法。

试试看?@trainoasis我很肯定。这可能吗?@trainoasis谢谢,更新了我的问题。停止使用php…这几乎可以工作了,但是$lines是一个数组,它包含空值和填充值。正在尝试删除空值,但数组_筛选器($行)不起作用。空值?你的意思是你也有空行?你说你想要前5行,这就行了。如果需要,您仍然可以通过循环$line来过滤空行,当有5行不为空时,中断循环并继续其他工作。这就是你想要的吗?是的,我想这可能是一个解决办法。如果你看我的问题,我已经更新了它,以显示a.t.m.发生了什么。你有什么-这些都是应该的一行吗?是的,它们是,但只有使用explode(“\n”,$string)而不是“
”,但数组有空值。
Array ( [8] =>

Dit is een nieuwe test met meerdere regels.
[9] =>

Dit is regel nummer 2.
[10] =>

Dit is regel nummer 3.
$lines = explode("<br>", $string); // take first 5 from this array by exploding new lines