我的数据库中的数据与此pastebin示例中的文本类似:http://pastebin.com/ipuXarEX
我有这个只显示纯文本:
$TicketUpdateDisplay = preg_replace('/<[^<]+?>/','',$result2["displaydata"]);
工作正常,但它会删除所有换行符并在顶部显示此字符串:
v\\:* {behavior:url(#default#VML);} o\\:* {behavior:url(#default#VML);} w\\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}
然后是其余的数据
数据库中的代码有时在行/段之间有几个换行符,我想减少这个。不要完全删除换行符,但只显示1
更新
我也尝试过:
'$ TicketUpdateDisplay = strip_tags(stripslashes(nl2br($ result2 [“displaydata”])));'
答案 0 :(得分:1)
您可以尝试echo nl2br(strip_tags($string));
为此添加trim()
效果会更好。
试试这个:nl2br(trim(strip_tags($string)))
答案 1 :(得分:0)
试试这个,因为HTML忽略了PHP换行符(\n
):
$string = str_replace("\n",'<br>',$string);
假设$string
包含数据。
此外,根据评论中建议的,您可以使用nl2br()
:
$string = nl2br($string);
答案 2 :(得分:0)
要做的第一件事是摆脱额外的反斜杠:
if (magic_quotes_gpc())) {
$value = stripslashes($value);
}
魔术引号已在5.4
中删除然后,剥离所有标签并修剪生成的字符串:
$value = trim(strip_tags($value));
最后,摆脱无关的新线:
$value = preg_replace('/\n\s+$/m', '', $value);