Php 去除HTML字符串,但不要';不要丢失换行符
我有一个字符串,其中包含很多HTML(HTML电子邮件正文) 我想做的是丢失所有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
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